C++中的const成员函数和mutable关键字

在C++中,如果一个类的成员函数不会改变这个类的成员变量的值,我们通常将这样的函数声明称const成员函数。例如,

1 classDummy2 {3  protected:4   // 成员变量声明5 public:6   ...7   void foo() const;  // 这个函数不会改变成员变量的值,因此声明称const函数8   ...9 };

在编写和使用const成员函数的时候需要知道几点规则:

a.const对象只能访问const成员函数,不能访问非const函数。

b. const对象的成员是不可修改的,然而const对象通过非const指针维护时,就变成可以修改的了。

c.const成员函数不可以修改对象的数据,不管对象是否具有const性质。它在编译时,以是否修改成员数据为依据,进行检查。

e.然而加上mutable修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的const成员函数是可以修改它的。
原文链接: https://www.cnblogs.com/lilei9110/archive/2010/09/14/1825549.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/14988

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 下午2:49
下一篇 2023年2月7日 下午2:50

相关推荐