据我所知,常量类成员必须在构造函数运行之前初始化,但由于它们不能在类主体中初始化(因为它只是一个原型),因此我们需要在初始化列表中对其进行初始化。我的问题是内存何时分配给常量变量,执行顺序是什么?
class constant
{
const int a;
public:
constant(int k):a(k)
{
cout<<"a is "<<a<<endl;
}
};
int main()
{
constant cl(5);
return 0;
}
编辑:常量变量是否需要在分配内存的时候进行初始化?