static在c++中的第五種含義:用static修飾不訪問非靜態數據成員的類成員函數。這意味着一個靜態成員函數只能訪問它的參數、類的靜態數據成員和全局變量。
不能用const的原因:
什么時候使用靜態數據成員和靜態函數呢?
定義數據成員為靜態變量,以表明此全局數據邏輯上屬於該類。
定義成員函數為靜態函數,以表明此全局函數邏輯上屬於該類,而且該函數只對靜態數據、全局數據或者參數進行操作,而不對非靜態數據成員進行操作。
static的第一種含義:修飾全局變量時,表明一個全局變量只對定義在同一文件中的函數可見。
static的第二種含義:修飾局部變量時,表明該變量的值不會因為函數終止而丟失。
static的第三種含義:修飾函數時,表明該函數只在同一文件中調用。
static的第四種含義:修飾類的數據成員,表明對該類所有對象這個數據成員都只有一個實例。即該實例歸 所有對象共有。
static的第五種含義:修飾類成員函數,如上。