const和static的區別

2022-09-04 15:21:39 字數 884 閱讀 5076

const和static的區別

一、const

1.static 區域性變數 將乙個變數宣告為函式的區域性變數,那麼這個區域性變數在函式執行完成之後不會被釋放,而是繼續保留在記憶體中

2.static 全域性變數 表示乙個變數在當前檔案的全域性內可訪問

3.static 函式 表示乙個函式只能在當前檔案中被訪問

4.static 類成員變數 表示這個成員為全類所共有

5.static 類成員函式 表示這個函式為全類所共有,而且只能訪問靜態成員變數

作用:(1)函式體內static變數的作用範圍為該函式體,該變數的記憶體只被分配一次,因此其值在下次呼叫時仍維持上次的值;

(2)在模組內的static全域性變數和函式可以被模組內的函式訪問,但不能被模組外其它函式訪問;

(3)在類中的static成員變數屬於整個類所擁有,對類的所有物件只有乙份拷貝;

(4)在類中的static成員函式屬於整個類所擁有,這個函式不接收this指標,因而只能訪問類的static成員變數。

二、static

1.const 常量:定義時就初始化,以後不能更改。

2.const 形參:func(const int a){};該形參在函式裡不能改變

3.const修飾類成員函式:該函式對成員變數只能進行唯讀操作

作用:(1)阻止乙個變數被改變

(2)宣告常量指標和指標常量

(3)const修飾形參,表明它是乙個輸入引數,在函式內部不能改變其值;

(4)對於類的成員函式,若指定其為const型別,則表明其是乙個常函式,不能修改類的成員變數;

(5)對於類的成員函式,有時候必須指定其返回值為const型別,以使得其返回值不為」左值」。

c 的const和static區別

const定義的常量在超出其作用域之後其空間會被釋放,而static定義的靜態常量在函式執行後不會釋放其儲存空間。static表示的是靜態的。類的靜態成員函式 靜態成員變數是和類相關的,而不是和類的具體物件相關的。即使沒有具體物件,也能呼叫類的靜態成員函式和成員變數。一般類的靜態函式幾乎就是乙個全域...

static和const的區別和用處

const總結 1.常物件 const 類名 物件名 例如const cdate d1 2008,8,8 d1就是常物件,物件d1中的所有成員的值都不能被修改,定義常物件必須要有初值,不能做左值,如果定義了常物件,則不能呼叫該物件的非const成員函式,只能訪問const成員函式,如果希望成員函式訪...

const和static的區別和用法

const關鍵字 const關鍵字是定義變數之後,其數值便不能更改,比方說 const week days 7 一周有七天,week day被賦予7之後便不能更改 當const用於指標變數定義時,要注意指向常量的指標和常量指標的區別。用比較形象的例子來描述,指向常量的指標就像乙個針標能動而背景板不能...