C 中static關鍵字的用法

2021-04-14 06:07:06 字數 563 閱讀 1083

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...