我正在使用一個成員變量,並且在程序的某個點上我想更改它,但我更喜歡在其他地方「鎖定」它以防止意外更改。變量是否可以鎖定以防止在C++中對其進行更改?
代碼解釋:
class myClass {
int x; // This should be prevented to being changed most of the time
int y; // Regular variable
myclass() {x = 1;}
void foo1() {x++; y++;} // This can change x
void foo2() {x--; y--;} // This shouldn't be able to change x
// I want it to throw a compile error
};
的問題是:它可以以某種方式實現?像永久const_cast的東西?
我知道我可以使用構造函數初始化列表和常量,但我需要稍後更改我的變量。
使它變得私密,只有當你想要時才改變它? – Chad
你想阻止實現改變x,還是你想阻止任何人調用該方法? – Joe
@Joe:我想在編譯時拋出一個錯誤。 – Petr