C++的學生在這裏:如果字段通過引用傳遞,則可以在const方法內修改類字段?
今天,在寫一個類,我發現我能修改不可變場與一個const方法,如果字段是通過引用傳遞:
class Foo {
public:
void func1(int & _n) const { _n = 42; }
void func2() { func1(n); }
private:
int n;
};
int main() {
Foo foo;
foo.func2();
return EXIT_SUCCESS;
}
我知道這是可能的,因爲一個const方法,簡單的使用這爲const,但如果我通過了場作爲參考,我可以把它直接訪問而無需通過這(我還在學習和也還不是很擅長英文,我可能會說錯了);
所以,我的問題是:
什麼是一個const方法的真正的實用,如果非可變字段可以用一個簡單的「絕招」進行修改?
謝謝!
請勿張貼代碼截圖。郵政編碼。 –
已修改,謝謝 –