如何设置个人网站和生活app下载安装最新版
在c++中经常看到这样的声明:
class A{
...
int fun1() const; //const成员函数
int fun2() const; //const成员函数private:
int a; //属于状态
static int b; //不属于状态,属于类
}
这个const关键字声明了这个函数是const成员函数,const成员函数的含义是该函数不会修改对象的状态,重点要理解对象的状态的含义,对象的状态就是数据成员,注意static关键字修饰的成员变量(静态成员变量)不属于状态,因为他属于类的信息。
- 如果一个函数被声明为const成员函数,但是在函数实现时修改了对象的状态(不能修改对象的成员变量,mutable关键字修改的普通成员变量除外),那么在编译时会报错。