C++ 之 const 修饰符用法 详解!
?const:常量限定修饰符,它把一个对象转换为常量(constant)。const对象必须初始化而且是在定义的同时。初始化后的const对象(或指针)是不能修改的。
例1:
class Test{public:const int i; //正确int & j; //正确};int main(){const int i; //编译错误int & j; //编译错误}?const修饰成员函数:const类对象只能调用const成员函数,而const成员函数不能修改类的成员变量。const成员函数若要修改某成员变量,就必须用mutable修饰该成员变量。
?const修饰函数返回值:当函数返回值不是内部类型时,通常用const修饰返回值。因为函数返回值是个临时对象,这样有助于编译器检查出调用者试图修改这临时对象。
?const的目的是正确性,而且没有运行的开销(编译时完成)。在C++里const的正确性仅仅是类型信息的另一种形式,是把程序员头脑里的正确信息语言化。