c++中的static關鍵字是從c中繼承的。
(1)在類中的使用static關鍵字宣告的變數和函式不屬於該類的任何乙個具體的物件,而是屬於這個類的所有物件。
物件a和b對可以對myclass中的整型變數i進行修改,但是修改的動作是針對物件a和b的。也就是說a.i==b.i是true的。
例如:class
myclass
;int
main()
(2)靜態成員變數和靜態成員函式是可以通過類名直接進行訪問的。類中的靜態成員函式只能夠訪問該類的靜態的成員變數。
myclass::i;
myclass::func();
(3)在類中使用static宣告成員變數和成員函式後,在定義時不需要再次適用static。但是靜態成員變數必須在類外進行定義。
例如:class
myclass
intmyclass::i;
void
myclass::func();
(4)靜態資料成員的定義不能放在標頭檔案中,必須放在原始檔中。如果有多個原始檔,只能選擇其中的乙個進行放置,不能同時放置在多個原始檔中。
C 中static關鍵字的用法
static變數與全域性變數有很多相似之處,下面是他們主要的異同點 相同 1 都儲存在靜態儲存區,相比之下區域性變數是儲存在程式棧中的。2 生命週期與程式的生命週期相同,從初始化直到程式執行結束一直存在。而區域性變數的使用週期只在它的定義域中 即所在的 內 不同 全域性變數的作用域就是全域性,而靜態...
C 中的static關鍵字用法
c 的static有兩種用法 面向過程程式設計中的static和物件導向程式設計中的static。前者應用於普通變數和函式,不涉及類 後者主要說明static在類中的作用。一 面向過程設計中的static 1 靜態全域性變數 在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域性變...
C 關鍵字static的用法
1 cpp檔案中的全域性靜態變數 全域性內的宣告 static int a 0 這樣的靜態全域性變數就只能被該cpp檔案所用,不能被其他cpp檔案共享。若不宣告static int a 0 這樣的全部變數既不能保證a能被其他cpp檔案共享,又不能保證不能被其他cpp檔案共享。不建議這樣使用,最好加e...