私の知る限り、定数クラスのメンバーはコンストラクターを実行する前に初期化する必要がありますが、クラス本体では初期化できないため(単なるプロトタイプであるため)、初期化子リスト内で初期化する必要があります。私の質問は、メモリが定数変数に割り当てられるのはいつですか、実行の順序は何ですか?
class constant
{
const int a;
public:
constant(int k):a(k)
{
cout<<"a is "<<a<<endl;
}
};
int main()
{
constant cl(5);
return 0;
}
編集:定数変数は、メモリが割り当てられた時点で初期化する必要があるというのは本当ですか?