最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++靜態(tài)局部變量和靜態(tài)函數(shù)示例

 更新時(shí)間:2014年04月30日 11:12:14   作者:  
這篇文章主要介紹了c++靜態(tài)局部變量和靜態(tài)函數(shù)示例,需要的朋友可以參考下

在函數(shù)體內(nèi)定義了一個(gè)變量,每當(dāng)程序運(yùn)行到該語(yǔ)句時(shí)都會(huì)給該局部變量分配棧內(nèi)存。但隨著程序退出函數(shù)體,系統(tǒng)就會(huì)收回棧內(nèi)存,局部變量也相應(yīng)失效。但有的時(shí)候我們需要在兩次調(diào)用之間對(duì)變量的值進(jìn)行保存。通常的想法是定義一個(gè)全局變量來(lái)實(shí)現(xiàn)。但是這樣一來(lái),變量已經(jīng)不再屬于函數(shù)本身了,不再僅受函數(shù)的控制,給程序的維護(hù)帶來(lái)不便。靜態(tài)局部變量正好可以解決這個(gè)問(wèn)題。靜態(tài)局部變量保存在全局?jǐn)?shù)據(jù)區(qū),而不是保存在棧中,每次的值保持到下一次調(diào)用,直到下次賦新值。該變量在全局?jǐn)?shù)據(jù)區(qū)內(nèi)分配內(nèi)存;靜態(tài)局部變量在程序執(zhí)行到該對(duì)象的聲明處時(shí)被首次初始化,即以后的函數(shù)調(diào)用不再進(jìn)行初始化(這一點(diǎn)非常的重要);靜態(tài)局部變量一般在聲明處初始化,如果沒(méi)有顯式初始化,會(huì)被程序自動(dòng)初始化為0;它始終駐留在全局?jǐn)?shù)據(jù)區(qū),直到程序運(yùn)行結(jié)束。但其作用域?yàn)榫植孔饔糜?,?dāng)定義它的函數(shù)或語(yǔ)句塊結(jié)束時(shí),其作用域隨之結(jié)束;靜態(tài)函數(shù)主要是用來(lái)訪問(wèn)靜態(tài)成員,不能直接訪問(wèn)類的非靜態(tài)成員;靜態(tài)成員函數(shù)主要為了調(diào)用方便,不需要生成對(duì)象就能調(diào)用。比如

復(fù)制代碼 代碼如下:

class X
{
public:
    void MethodA();
    static void MethodB();
}

此時(shí)MethodB可以直接調(diào)用,X::MethodB();
而MethodA必須在先生成類對(duì)象之后才能夠被調(diào)用,X x; x.MethodA();

復(fù)制代碼 代碼如下:

//Example 3  

#include <iostream.h>
void fn();  

void main() {
fn(); fn(); fn();
}

void fn() {

static int n=10; //僅在初次調(diào)用它的時(shí)候被初始化,第二次調(diào)用的時(shí)候這句話就被忽略
cout<<n<<endl;
n++;



相關(guān)文章

  • Qt自定義控件實(shí)現(xiàn)多彩色儀表盤

    Qt自定義控件實(shí)現(xiàn)多彩色儀表盤

    這篇文章主要為大家詳細(xì)介紹了Qt自定義控件實(shí)現(xiàn)多彩色儀表盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Qt4和Qt5的信號(hào)和槽的使用區(qū)別

    Qt4和Qt5的信號(hào)和槽的使用區(qū)別

    本文主要介紹了Qt4 和 Qt5 的信號(hào)和槽的連接 connect 與斷開 disconnect 區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C++ 中類(class)和結(jié)構(gòu)體(struct)的區(qū)別

    C++ 中類(class)和結(jié)構(gòu)體(struct)的區(qū)別

    類和結(jié)構(gòu)體經(jīng)常被用來(lái)定義復(fù)雜的數(shù)據(jù)結(jié)構(gòu),但兩者之間既有區(qū)別又能很好地結(jié)合使用,本文主要介紹了C++ 中類(class)和結(jié)構(gòu)體(struct)的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-04-04
  • C語(yǔ)言輸入三角形邊長(zhǎng)判斷其類型并輸出面積實(shí)例代碼

    C語(yǔ)言輸入三角形邊長(zhǎng)判斷其類型并輸出面積實(shí)例代碼

    這篇文章主要介紹了C語(yǔ)言輸入三角形邊長(zhǎng)判斷其類型并輸出面積實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • VS2017中配置QT5.12.0的圖文教程

    VS2017中配置QT5.12.0的圖文教程

    本文主要介紹了VS2017中配置QT5.12.0的圖文教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 深入講解C++中的構(gòu)造函數(shù)

    深入講解C++中的構(gòu)造函數(shù)

    這篇文章主要介紹了C++中的構(gòu)造函數(shù),是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C語(yǔ)言實(shí)現(xiàn)選擇排序、直接插入排序、冒泡排序的示例

    C語(yǔ)言實(shí)現(xiàn)選擇排序、直接插入排序、冒泡排序的示例

    這篇文章主要介紹了C++實(shí)現(xiàn)選擇排序、直接插入排序、冒泡排序的代碼示例,相當(dāng)簡(jiǎn)潔直觀,也是算法和數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)中的基礎(chǔ),需要的朋友可以參考下
    2016-02-02
  • 最新評(píng)論

    新沂市| 兴业县| 修武县| 新竹市| 邵阳市| 黎城县| 宁远县| 尖扎县| 达拉特旗| 达孜县| 海淀区| 涟水县| 丰城市| 普宁市| 都匀市| 色达县| 北川| 昌黎县| 吴江市| 钟山县| 双桥区| 康保县| 都安| 尚义县| 铜川市| 盐源县| 仙桃市| 苏州市| 唐山市| 同心县| 双牌县| 铁力市| 涞源县| 合作市| 都匀市| 将乐县| 正蓝旗| 泽普县| 建阳市| 贵州省| 安达市|