static在c語言中的作用
static修飾區域性變數,改變區域性變數的生命週期,但是不改變其作用域,生命週期直到檔案銷毀。
static修飾全域性變數,改變全域性變數的連線屬性,只能在本檔案中被使用,使用extern外部宣告也不行。
static在c++的作用
宣告為static的類成員,成為類的靜態成員。
class cdate
void display()
private:
int _year;
int _month;
int _day;
//靜態成員變數
static
int _count;
};int cdate::_count = 0;
在這裡_count就是乙個靜態的成員變數。
1、靜態成員為所有類物件所共享,不屬於某個具體的例項。
2、類靜態成員即可用類名::靜態成員或者物件.靜態成員來訪問
cdate::_count;
cdate c1;
c1->_count;
3、類靜態成員變數必須在類外定義,定義時不新增static關鍵字
4、類的靜態成員函式沒有預設的this指標,因此在它裡面不能使用任何非靜態成員
static int getdatecount()
; int array1[size1];
int array2[size2];
…}而以下這種方式是不行的:
5、在const修飾的成員函式中要對類的某個資料成員進行修改,該資料成員定義宣告是必須加mutable關鍵字
static關鍵字和const關鍵字的作用
static關鍵字至少有下列n個作用 1 函式體內static變數的作用範圍為該函式體,不同於auto變數,該變數的記憶體只被分配一次,因此其值在下次呼叫時仍維持上次的值 2 在模組內的static全域性變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問 3 在模組內的static函式只可被這...
C C 關鍵字 static 和 const
參考 1.靜態全域性變數和函式 靜態全域性變數 static a 靜態函式 static void myfunc 2.靜態區域性變數 靜態區域性變數 每次呼叫該函式a都會加1,不會被重新初始化為0。void myfunc 3.靜態類成員變數和函式 類 class myclass 定義並初始化靜態成員...
static和const關鍵字的使用
header content type text html charset utf 8 static和const關鍵字的使用 static成員能夠限制外部的訪問,因為static的成員是屬於類的,是不屬於任何物件例項,因為靜態成員是在類 第一次載入的時候就建立的,所以在類的外部不需要物件而使用類名就...