C++中 靜態(tài)局部變量實(shí)例詳解
C++中 靜態(tài)局部變量實(shí)例詳解
以前經(jīng)常使用和了解static作用在全局變量前,以至于甚至把static當(dāng)做全局變量的代名詞,但是其實(shí)static還可以作用于局部變量前
靜態(tài)局部變量的意義:
1.分配空間在全局?jǐn)?shù)據(jù)棧上
2.作用域只局限于當(dāng)前的函數(shù)范圍內(nèi)(局部)
3.生命周期為整個(gè)程序,不會(huì)隨著當(dāng)前的函數(shù)結(jié)束而結(jié)束
4.首次初始化時(shí)賦值生效,以后的初始化賦值自動(dòng)跳過
如
void fn()
{
static n=10;
cout<<n<<endl;
n++;
}
這里的n是一個(gè)靜態(tài)局部變量,只有第一執(zhí)行fn函數(shù)時(shí)會(huì)調(diào)用static n=10,以后都不會(huì)調(diào)用
有例子使用這種一次聲明賦值的特性來實(shí)現(xiàn)單件
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
C++模板以及實(shí)現(xiàn)vector實(shí)例詳解
模板是為了實(shí)現(xiàn)泛型編程,所謂泛型編程,就是指編寫與類型無關(guān)的代碼,下面這篇文章主要給大家介紹了關(guān)于C++模板以及實(shí)現(xiàn)vector的相關(guān)資料,需要的朋友可以參考下2021-11-11
C++返回值類型后置實(shí)現(xiàn)(跟蹤返回值類型)
本文主要介紹了C++返回值類型后置實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
C++20中的協(xié)程(Coroutine)的實(shí)現(xiàn)
這篇文章主要介紹了C++20中的協(xié)程(Coroutine)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
C++利用stringstream進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換實(shí)例
這篇文章主要介紹了C++利用stringstream進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的方法,實(shí)例分析了使用stringstream進(jìn)行string轉(zhuǎn)int的操作技巧,需要的朋友可以參考下2015-01-01
Cocos2d-x學(xué)習(xí)筆記之Hello World源碼分析
這篇文章主要介紹了Cocos2d-x學(xué)習(xí)筆記之Hello World源碼分析,接上一篇內(nèi)容,本文著重分析源碼文件,需要的朋友可以參考下2014-09-09
C++ OpenCV實(shí)戰(zhàn)之網(wǎng)孔檢測(cè)的實(shí)現(xiàn)
這篇文章主要介紹了如何利用C++和OpenCV實(shí)現(xiàn)網(wǎng)孔檢測(cè),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)OpenCV有一定幫助,感興趣的小伙伴可以了解一下2022-05-05

