C++ 使方法不更改自己的类变量而不使其保持常量
假设一个类中存在变量,并且该类的方法不应在不使变量保持常量的情况下更改成员变量。C++ 使方法不更改自己的类变量而不使其保持常量,c++,c++11,C++,C++11,假设一个类中存在变量,并且该类的方法不应在不使变量保持常量的情况下更改成员变量。 如何实现?如果可能的话?使用常数法。例如: class Foo { public: // this won't be able to change any member variable void bar() const; } void Foo::bar() const { } 对常量-限定成员函数: struct X { int a; void f() const {
如何实现?如果可能的话?使用常数法。例如:
class Foo {
public:
// this won't be able to change any member variable
void bar() const;
}
void Foo::bar() const {
}
对<代码>常量-限定成员函数:
struct X {
int a;
void f() const {
// a = 42; // illegal
}
};
使成员函数
const
。这是一个吗?听起来像一个。对我来说,这不像XY问题。常量成员方法很常见,不是吗?背后可能有多种原因。@taskinoor,我假设OP知道const
成员函数。对我来说,这可能是个错误的假设。