static 的做用

 

static的做用c++

不考慮類,static的做用主要有三個:程序員

1.第一個做用,隱藏函數

    當同時編譯多個文件時,全部未加static前綴的全局變量和函數都具備全局可見性,假設有文件test1.cpp,main.cpp,this

test1.cpp文件爲spa

int a=23;指針

void getm()對象

{get

    cout<<"wodingdong"<<endl;編譯

}求職

 

那麼在這裏,test1.cpp的變量a和函數getm()在main.cpp等其餘文件能夠訪問中可以訪問,如果加上static,就會對其餘的文件隱藏,因此利用這個特性,能夠在不一樣的文件中定義相同的變量和函數名稱,沒必要擔憂命名的衝突。

2,第二個做用,默認初始化爲0,包括未初始化的全局靜態變量與局部靜態變量。

3,第三個做用,保持局部變量內容的持久

        函數內的自動(局部)變量,當調用時就存在,退出時就消失,但局部變量雖然在函數內定義,但靜態局部變量始終存在着,也就是說它的生存週期爲整個源程序,其特色是隻進行一次初始化且具備「記憶性」

 

類中stati的做用:

c++重用了static個關鍵字,並賦予它與前面不一樣的含義,表示一個類而不是屬於此類的任何特定對象的變量和函數

 

靜態數據成員

    在類內數據成員的聲明加上關鍵字static,該數據成員就是類內的靜態數據成員

     static數據成員必須在類定義體的外部定義

 

靜態成員函數

        靜態成員函數和靜態數據成員同樣,都是類的內部實現,屬於類定義的一部分,它爲類服務面不是爲了某一個具體的對象服務,

        由於普通成員函數老是具體的屬於某個類的具體對象,因此普通的成員函數通常都隱含了一個this指針, this指針指向類的對象自己

 

參考了《王道-程序員求職寶典》

相關文章
相關標籤/搜索