盡我所知,常量類成員必須在構造函數運行之前初始化,但由於它們不能在類體中初始化(因爲它只是一個原型),因此我們需要在初始化程序列表中初始化它。我的問題是什麼時候內存分配給一個常量變量,以及執行的順序是什麼?在什麼時候內存被分配給C++中的一個常量變量?
class constant
{
const int a;
public:
constant(int k):a(k)
{
cout<<"a is "<<a<<endl;
}
};
int main()
{
constant cl(5);
return 0;
}
編輯:是不是真的,恆定變量需要初始化在他們分配內存的點?
沒有答案將適用於所有C++實現,因爲它沒有在標準中指定。 – 2012-08-08 17:14:02