C++ static關鍵字解析

1、static關鍵字修飾全局變量時,該變量存儲在代碼區,初始化時機在main函數之前(好像所有全局變量的初始化時機都是在main函數之前切被初始化爲0)。且static修飾的全局變量僅限於本編譯單元(一個編譯單元即是一個cpp文件)可訪問。

2、static修飾局部變量(即函數內部的變量),存儲在靜態區,但是訪問權限僅限於該變量所屬函數,初始化時機爲第一次調用該函數,且此時該變量具有記憶性(即第一次調用該函數後對該靜態變量進行了修改,第二次再調用該函數就會直接訪問上次調用修改後的值,不會再對改該靜態變量進行初始化)。

3、static修飾類的成員變量和類的成員函數:此時被static修飾的成員變量屬於類,可以被類的所有對象共享,且所有對象都可以修改該變量,且會影響到其他變量。static修飾的成員函數(稱爲類的靜態成員函數)屬於類,且類的靜態成員函數不能訪問類的非靜態變量,因爲沒有this指針。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章