static與const的作用

2021-07-29 22:50:10 字數 938 閱讀 2380

static關鍵字的作用:

1、在類中的乙個成員變數是static時,該變數被所有該類的例項物件所共同擁有,它的改變對該類的例項物件是可見的,也就是說它不屬於某個特定的物件,而是屬於這個類;

2、類中的靜態成員函式不屬於某個物件,而是屬於整個類,不接受this指標,只能訪問static成員變數。

3、在乙個函式中定義乙個static變數,則該函式就有了狀態。該變數只在函式第一次呼叫時初始化,以後再呼叫使用上一次呼叫結束後該static變數的值。該變數儲存在記憶體的靜態資料區,具有靜態生存期,函式呼叫結束後,static變數不消亡,而是記錄下這次呼叫結束後函式的狀態。

4、在模組內的static函式只可被這一模組內的其它函式呼叫,這個函式的使用範圍被限制在宣告它的模組內;

5、全域性變數加上static關鍵,可以將其作用域由全域性作用域改為檔案作用域,它只在定義它的模組中可見。

const關鍵字的作用:

1、當不希望乙個變數被改變時,可以加上const關鍵字,const變數定義時需要初始化。

2、可以給指標加上const,可以是頂層const,也可以是底層const。

3、可以在類的成員函式後面加const表示它是乙個常量函式,不會改變成員變數的值,只有讀取功能。

4、可以給函式的返回型別加上const關鍵字,使返回值不能作為左值。例如:

const classa operator*(const classa& a1,const classa& a2);   

operator*的返回結果必須是乙個const物件。如果不是,這樣的****也不會編譯出錯:   

classa a, b, c;   

(a * b) = c; // 對a*b的結果賦值   

操作(a * b) = c顯然不符合程式設計者的初衷,也沒有任何意義。

5、在乙個函式宣告中,const可以修飾形參,表明它是乙個輸入引數,在函式內部不能改變其值;   

static與const的作用

static 1 設定變數的儲存域,函式體內static變數的作用範圍為該函式體,不同於auto變數,該變數的記憶體只被分配一次,因此其值在下次呼叫時仍維持上次的值 2 限制變數的作用域,在模組內的static全域性變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問 3 限制函式的作用域,在模...

c 面試之static與const的作用

1 在函式體內,靜態變數具有 記憶 功能,乙個被宣告為靜態的變數在這一函式被呼叫的過程中,其值維持不變 2 函式體外,模組內,它的作用範圍是有限制的 static全域性變數與普通的全域性變數的區別 static全域性變數只初始化一次,目的是防止在其他檔案中被引用。static 函式與普通函式的區別 ...

C C 中Static和Const的作用

尊重 一 const的作用 const是c語言的一種關鍵字,它所限定的變數是不允許被改變的,從而起到保護的作用!const關鍵字可以用於修飾變數,引數,返回值,甚至函式體。const可以提高程式的健壯性,減少程式出錯。一 const用於定義常量和修飾變數 當定義某個變數時,用const修飾,則該變數...