關鍵字static和const

2021-08-10 03:48:41 字數 1175 閱讀 9180

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的成員是屬於類的,是不屬於任何物件例項,因為靜態成員是在類 第一次載入的時候就建立的,所以在類的外部不需要物件而使用類名就...