如果已经分配的const变量仍然可以重新分配,那么它不是一个常量?举个例子:为什么声明为类成员的const变量仍然可以修改?
struct ss
{
const int m = 1024;
ss()
{
}
ss(int m) : m(m)
{
}
};
ss sa;
ss sb(-1);
cout << sa.m << endl;
cout << sb.m << endl;
哇,毕竟不是一成不变!
> /* Ouput: > > 1024 > -1 > > */
重新分配?你永远不会重新分配它。 – chris
相关[在新的C++ 11成员初始化功能在声明使初始化列表过时?](http://stackoverflow.com/questions/24149924/has-the-new-c11-member-initialization-feature-at -declaration制-initializati/24150137#24150137)。 –
此代码中没有赋值或重新分配。只有初始化,每个变量只发生一次。 –