zoukankan      html  css  js  c++  java
  • C++中的const成员函数和mutable关键字

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

    1 classDummy
    2 {
    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成员函数是可以修改它的。

  • 相关阅读:
    机器学习--强化学习
    机器学习--深度学习
    机器学习--维度灾难
    机器学习--最优化
    机器学习--降维
    机器学习--聚类
    机器学习--模型提升
    Git和gitHub用户名 邮箱
    Git线上操作
    版本控制器:Git
  • 原文地址:https://www.cnblogs.com/lilei9110/p/1825549.html
Copyright © 2011-2022 走看看