我们可以有一个 setter 成员函数作为从 const 对象引用的 const 吗?
Can we have a setter member function as const referenced from a const object?
我有一个 class 这样的:
class XYZ {
public :
bool var1 = true;
ABC *var2 = nullptr;
public :
XYZ() = default;
void SetVar1(bool flag)
{ var1 = flag; }
void SetVar2(ABC *abc)
{ var2 = abc; }
}
我想知道如果我的 XYZ 对象在我的代码库中到处都被引用为常量,
我可以使用这些二传手吗?
P.S。我试过 const Setters 但它不起作用
(我知道这没有多大意义,但我一直卡在编译错误中,所以还是试了一下)
一旦你使你的对象成为常量,你就不能改变这个对象中任何变量的值
我有一个 class 这样的:
class XYZ {
public :
bool var1 = true;
ABC *var2 = nullptr;
public :
XYZ() = default;
void SetVar1(bool flag)
{ var1 = flag; }
void SetVar2(ABC *abc)
{ var2 = abc; }
}
我想知道如果我的 XYZ 对象在我的代码库中到处都被引用为常量, 我可以使用这些二传手吗? P.S。我试过 const Setters 但它不起作用 (我知道这没有多大意义,但我一直卡在编译错误中,所以还是试了一下)
一旦你使你的对象成为常量,你就不能改变这个对象中任何变量的值