常量类和成员函数



当你想创建一个类的新常量实例时,你需要定义常量函数吗?

不知何故,当我尝试从 const 类实例访问它们时,我的编译器找不到"常规"(不是 const)函数。

是的,如果一个对象是const,你只能在该对象上调用const函数。

如果一个函数没有被标记为const,编译器必须假定它被允许改变类的成员。 由于您无法更改const类实例的成员,因此您也不能在该实例上调用非const函数。

请注意,相反的情况是不同的 - 在非const对象上调用const函数没有问题。 因此,建议始终将成员函数标记为const只要有意义。 出于许多相同的原因,将函数参数、引用变量等标记为const非常重要。 社区通常将这种做法称为保持"常量正确性"。

最新更新