C++中的const使用

/ 0评 / 0

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只标记是个只读量,不一定是存储在常量存储区的“常量”。