欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

const定義的變量可以改變嗎

錢艷冰2年前28瀏覽0評論

const定義的變量可以改變嗎?

不是的,在對象生存期內是不可以改變的,過了生存期就是普通變量了。

在C++中,const成員變量也不能在類定義處初始化,只能通過構造函數初始化列表進行,并且必須有構造函數。

const數據成員只在某個對象生存期內是常量,而對于整個類而言卻是可變的。因為類可以創建多個對象,不同的對象其const數據成員的值可以不同。所以不能在類的聲明中初始化const數據成員,因為類的對象沒被創建時,編譯器不知道const數據成員的值是什么。

const數據成員的初始化只能在類的構造函數的初始化列表中進行。要想建立在整個類中都恒定的常量,應該用類中的枚舉常量來實現,或者static cosnt。

class Test

{

public:

Test():a(0){}

enum {size1=100,size2=200};

private:

const int a;//只能在構造函數初始化列表中初始化

static int b;//在類的實現文件中定義并初始化

const static int c;//與 static const int c;相同。

};

int Test::b=0;//static成員變量不能在構造函數初始化列表中初始化,因為它不屬于某個對象。

cosnt int Test::c=0;//注意:給靜態成員變量賦值時,不需要加static修飾符。但要加cosnt

Java變量與修飾符,const定義的變量可以改變嗎