【发布时间】:2018-05-09 08:39:11
【问题描述】:
这里是 C++ 学生:
今天,在写一个类时,我注意到我可以使用 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 方法只是使用 this 到 const,但如果我将字段作为引用传递,我可以直接访问它没有经过this(我还在学习,英语还不是很好,我可能说错了);
所以,我的问题是:
如果可以通过简单的“技巧”修改非可变字段,那么 const 方法的真正用途是什么?
谢谢!
【问题讨论】:
-
不要发布代码截图。邮政编码。
标签: c++ methods reference this