如果已經分配的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)。 –
此代碼中沒有賦值或重新分配。只有初始化,每個變量只發生一次。 –