EasyC++自動(dòng)存儲(chǔ)持續(xù)性
轉(zhuǎn)自微信公眾號(hào):Coder梁(ID:Coder_LT)
自動(dòng)存儲(chǔ)持續(xù)性:
這個(gè)概念乍一看有些拗口,其實(shí)它很簡(jiǎn)單,指的是在函數(shù)定義中聲明的變量的存儲(chǔ)持續(xù)性是自動(dòng)的:它們?cè)诔绦蜷_始執(zhí)行其所屬的函數(shù)或代碼塊時(shí)被創(chuàng)建,在執(zhí)行完函數(shù)或代碼塊時(shí),它們使用的內(nèi)存被釋放。
在默認(rèn)情況下,我們?cè)诤瘮?shù)中聲明的變量和函數(shù)的參數(shù)都是自動(dòng)存儲(chǔ)持續(xù)性,它的作用于為局部,沒有鏈接性。
這里的鏈接性描述了名稱如何在不同的單元之間共享,鏈接性為外部的名稱可以在文件之間共享,鏈接性為內(nèi)部的名稱只能由一個(gè)車文件中的函數(shù)共享。自動(dòng)變量的名稱沒有鏈接性,也就是不能共享。
這段話是一段專業(yè)性描述,看不太明白沒有關(guān)系。簡(jiǎn)單理解,就是說如果我們?cè)?code>main函數(shù)當(dāng)中聲明了一個(gè)變量a,并且在函數(shù)test當(dāng)中也聲明了一個(gè)同樣的變量a。兩者之間是完全獨(dú)立的,彼此不會(huì)有任何影響,因?yàn)樗鼈冎挥性诼暶髁怂暮瘮?shù)中才能使用。
當(dāng)程序執(zhí)行test函數(shù)時(shí),test中的a才被創(chuàng)建,當(dāng)test執(zhí)行結(jié)束,a即被銷毀。
其實(shí)變量的作用域的最小劃分并不是函數(shù),而是代碼塊。我們?cè)诖a塊當(dāng)中創(chuàng)建的變量,它的使用范圍作用域就只有當(dāng)前代碼塊。例如:
int main() {
int a = 4;
{
int b = 10;
}
}
我們?cè)趍ain函數(shù)當(dāng)中定義了一個(gè)變量a和一個(gè)變量b,但是這兩個(gè)變量定義的位置不同。b定義在了一個(gè)代碼塊(代碼塊使用花括號(hào)表示)當(dāng)中,對(duì)于a來說,它的作用域是整個(gè)main函數(shù),而b只在花括號(hào)當(dāng)中生效。
更有意思的是下面這段代碼:
int main() {
int a = 4;
{
int a = 5;
cout << a << endl;
}
cout << a << endl;
}
答案是輸出的結(jié)果是5和4,為什么呢?
因?yàn)閮?nèi)部和外部都有一個(gè)變量a,當(dāng)執(zhí)行內(nèi)部代碼的時(shí)候,編譯器隱藏了外部的定義。而程序離開代碼塊時(shí),外部的定義又重新恢復(fù)。
到此這篇關(guān)于EasyC++自動(dòng)存儲(chǔ)持續(xù)性的文章就介紹到這了,更多相關(guān) C++自動(dòng)存儲(chǔ)持續(xù)性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c++調(diào)用實(shí)現(xiàn)yolov5轉(zhuǎn)onnx介紹
大家好,本篇文章主要講的是c++調(diào)用實(shí)現(xiàn)yolov5轉(zhuǎn)onnx介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
C語言實(shí)現(xiàn)運(yùn)籌學(xué)中的馬氏決策算法實(shí)例
這篇文章主要介紹了C語言實(shí)現(xiàn)運(yùn)籌學(xué)中的馬氏決策算法,簡(jiǎn)單介紹了馬氏決策的概念,并結(jié)合實(shí)例形式分析了C語言實(shí)現(xiàn)馬氏決策算法的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
C語言實(shí)現(xiàn)計(jì)算雙色球的中獎(jiǎng)率
這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)計(jì)算雙色球的中獎(jiǎng)率,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12
在Vitis?IDE中如何使用第三方庫?libtiff?保存?tiff?文件
這篇文章主要介紹了在Vitis?IDE中如何使用第三方庫?libtiff?保存?tiff?文件,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
C++實(shí)現(xiàn)水仙花數(shù)判斷實(shí)例
大家好,本篇文章主要講的是C++實(shí)現(xiàn)水仙花數(shù)判斷實(shí)例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01

