C 模板 2 靜態變數

2021-08-11 16:58:19 字數 520 閱讀 5634

每種不同型別的模板函式,其靜態變數不共享

例子如下:

templatevoid useofstatic(const t& a) 

int main()

輸出結果如下: 12

1類模板的靜態變數與函式模板類似:

//模板類同理

templateclass templateclassuse };

templateint templateclassuse::testi = 0; //類中靜態物件的初始化

使用:

templateclassusea;

templateclassuseb;

templateclassusec;

templateclassused;

templateclassusee;

輸出: 12

345結論:不同型別的模板類或模板函式不共享靜態變數

C 靜態變數

在c 程式中,沒有全域性變數的概念,這意味著所有的成員變數只有該類的實 例才能操作這些資料,這起到了 資訊隱藏 的作用。但有些時候,這樣做卻不是個明智的選擇。假設我們要定義乙個圖書類,要求該類能儲存圖書的數量,即每增加一本圖書 定義乙個例項 圖書的數量應該加1。如果沒有靜態變數,我們需要將圖書的數量...

C 靜態變數

在c 程式中,沒有全域性變數的概念,這意味著所有的成員變數只有該類的例項才能操作這些資料,這起到了 資訊隱藏 的作用。但有些時候,這樣做卻不是個明智的選擇。假設我們要定義乙個圖書類,要求該類能儲存圖書的數量,即每增加一本圖書 定義乙個例項 圖書的數量應該加1。如果沒有靜態變數,我們需要將圖書的數量儲...

C 靜態變數

靜態變數 型別說明符是static。靜態變數屬於靜態儲存方式,其儲存空間為記憶體中的靜態資料區 在靜態儲存區內分配儲存單元 該區域中的資料在整個程式的執行期間一直占用這些儲存空間 在程式整個執行期間都不釋放 也可以認為是其記憶體位址不變,直到整個程式執行結束 相反,而auto自動變數,即動態區域性變...