C++中的const成员函数和mutable关键字
2010-09-14 08:32
399 查看
在C++中,如果一个类的成员函数不会改变这个类的成员变量的值,我们通常将这样的函数声明称const成员函数。例如,
在编写和使用const成员函数的时候需要知道几点规则:
a.const对象只能访问const成员函数,不能访问非const函数。
b. const对象的成员是不可修改的,然而const对象通过非const指针维护时,就变成可以修改的了。
c.const成员函数不可以修改对象的数据,不管对象是否具有const性质。它在编译时,以是否修改成员数据为依据,进行检查。
e.然而加上mutable修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的const成员函数是可以修改它的。
classDummy { protected: // 成员变量声明 public: ... void foo() const; // 这个函数不会改变成员变量的值,因此声明称const函数 ... };
在编写和使用const成员函数的时候需要知道几点规则:
a.const对象只能访问const成员函数,不能访问非const函数。
b. const对象的成员是不可修改的,然而const对象通过非const指针维护时,就变成可以修改的了。
c.const成员函数不可以修改对象的数据,不管对象是否具有const性质。它在编译时,以是否修改成员数据为依据,进行检查。
e.然而加上mutable修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的const成员函数是可以修改它的。
相关文章推荐
- C++学习之路(20)---C++ 类成员函数后面加 const关键字
- const成员函数和mutable关键字
- C++ 类成员函数后面加 const关键字
- const成员函数和mutable关键字
- C++成员函数末尾const关键字的作用
- c++ const 成员函数和mutable
- const关键字对C++成员函数的修饰
- C++成员函数末尾const关键字…
- C++之const成员函数
- C++里的静态成员函数(不能用const的原因+static在c++中的第五种含义)(转)
- C++基础之const成员函数
- CPP-基础:非静态成员函数后面加const,以及mutable修饰成员变量
- C++中,经常有同名成员函数,一个const形式一个非const形式的解读
- C++重载运算符及const成员函数简述
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中const成员函数和非const成员函数的重载
- c++学习之const成员变量与成员函数
- c++ const成员函数
- C++ const成员函数
- c/c++笔试题——const类型的成员函数内部如何改变成员变量