欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

EasyC++自動(dòng)存儲(chǔ)持續(xù)性

 更新時(shí)間:2021年12月17日 08:58:00   作者:梁唐  
這篇文章主要介紹了EasyC++自動(dòng)存儲(chǔ)持續(xù)性,下面文章圍繞EasyC++自動(dòng)存儲(chǔ)持續(xù)性的相關(guān)資料展開全文資料,需要的小伙伴可以參考一下下面文章的具體內(nèi)容,希望對(duì)你的學(xué)習(xí)有所幫助

轉(zhuǎn)自微信公眾號(hào):Coder梁(ID:Coder_LT)

自動(dòng)存儲(chǔ)持續(xù)性:

這個(gè)概念乍一看有些拗口,其實(shí)它很簡單,指的是在函數(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)系。簡單理解,就是說如果我們?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++多重繼承引發(fā)的重復(fù)調(diào)用問題與解決方法

    C++多重繼承引發(fā)的重復(fù)調(diào)用問題與解決方法

    這篇文章主要介紹了C++多重繼承引發(fā)的重復(fù)調(diào)用問題與解決方法,結(jié)合具體實(shí)例形式分析了C++多重調(diào)用中的重復(fù)調(diào)用問題及相應(yīng)的解決方法,需要的朋友可以參考下
    2018-05-05
  • Java C++ 題解leetcode1619刪除某些元素后數(shù)組均值

    Java C++ 題解leetcode1619刪除某些元素后數(shù)組均值

    這篇文章主要為大家介紹了Java C++ 題解leetcode1619刪除某些元素后數(shù)組均值示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • C++模擬實(shí)現(xiàn)vector示例代碼圖文講解

    C++模擬實(shí)現(xiàn)vector示例代碼圖文講解

    這篇文章主要介紹了C++容器Vector的模擬實(shí)現(xiàn),Vector是一個(gè)能夠存放任意類型的動(dòng)態(tài)數(shù)組,有點(diǎn)類似數(shù)組,是一個(gè)連續(xù)地址空間,下文更多詳細(xì)內(nèi)容的介紹,需要的小伙伴可以參考一下
    2023-02-02
  • OpenCV邊緣提取算法流程的實(shí)現(xiàn)(附DEMO)

    OpenCV邊緣提取算法流程的實(shí)現(xiàn)(附DEMO)

    本文主要介紹了OpenCV邊緣提取算法流程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • qt中sokect斷開的幾種情況

    qt中sokect斷開的幾種情況

    本文主要介紹了qt中sokect斷開的幾種情況,文中介紹了很多情況,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • C++學(xué)習(xí)筆記std::vector底層原理及擴(kuò)容

    C++學(xué)習(xí)筆記std::vector底層原理及擴(kuò)容

    這篇文章主要為大家介紹了C++學(xué)習(xí)之std::vector底層原理及擴(kuò)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • C++運(yùn)算符重載限制介紹

    C++運(yùn)算符重載限制介紹

    這篇文章主要介紹了C++運(yùn)算符重載限制,關(guān)于運(yùn)算符的重載并不是隨心所欲的。C++給出了一些限制,從而保證了規(guī)范,以及程序運(yùn)行的準(zhǔn)確性,下面來了解C++運(yùn)算符重載限制的詳細(xì)內(nèi)容吧,需要的朋友也可以參考一下
    2022-01-01
  • C++實(shí)現(xiàn)俄羅斯方塊(windows API)

    C++實(shí)現(xiàn)俄羅斯方塊(windows API)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)俄羅斯方塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 深入解析最長公共子串

    深入解析最長公共子串

    本篇文章是對(duì)最長公共子串進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ 輸入scanf()和輸出printf()的操作

    C++ 輸入scanf()和輸出printf()的操作

    這篇文章主要介紹了C++ 輸入scanf()和輸出printf()的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評(píng)論