const成员变量
const成员变量和普通const变量的使用相似,在声明的时候增加const关键字,但是只能在初始化列表中进行初始化,而且必须进行初始化。
const成员函数
const成员函数的特点是只能使用类中的成员变量,不能改变成员变量的值。一般将类中的get函数设置成const成员函数,在声明和定义处增加const关键字。
// 类中声明
class A {
public:
int getVal() const;
private:
int m_value;
};
// 类外定义
int A::getVal() const {
return m_value;
}
注意在前面增加const和后面增加const是不同的,前面增加const代表返回值是const类型,在后面增加const是常成员函数
const普通变量
C语言中的const变量,每次从内存中进行读取,const只是语法层面的限制变量不能修改,通过指针等特殊操作还是可以改变变量的值。C++中的const在编译的时候直接进行值的替换,运行时不再读取内存的值。const局部变量存储在栈区,代码块结束时释放。const全局变量存储在常量存储区,随程序结束释放。const只标记是个只读量,不一定是存储在常量存储区的“常量”。