尽我所知,常量类成员必须在构造函数运行之前初始化,但由于它们不能在类体中初始化(因为它只是一个原型),因此我们需要在初始化程序列表中初始化它。我的问题是什么时候内存分配给一个常量变量,以及执行的顺序是什么?在什么时候内存被分配给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