您的位置:首页 > 编程语言 > C语言/C++

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

2010-09-14 08:32 399 查看
在C++中,如果一个类的成员函数不会改变这个类的成员变量的值,我们通常将这样的函数声明称const成员函数。例如,

classDummy
{
protected:
  // 成员变量声明
public:
  ...
  void foo() const;  // 这个函数不会改变成员变量的值,因此声明称const函数
  ...
};


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

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

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

e.然而加上mutable修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的const成员函数是可以修改它的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: