3、const 成员变量/成员函数 const成员变量只能被const成员函数访问 const成员函数,能够访问所有成员变量,但是在函数体内不能直接修改变量的值(包括普通成员变量),如果需要在函数体内修改普通成员变量的值,需要在变量定义的前面添加mutable关键字,或者通过地址间接修改。注意:const成员函数只能被该类的const对象访问。测试代...
用const修饰的类成员函数,在该函数体内不能改变该类对象的任何成员变量, 也不能调用类中任何非const成员函数。一般写在函数的最后来修饰。 1classA2{3public:4int& getValue()const5{6//a = 10;//错误7returna;8}9private:10inta;//非const成员变量11}; a. const成员函数不被允许修改它所在对象的任何一...
以下是一个示例,展示了如何在C++类中使用const成员变量,并在构造函数的初始化列表中进行初始化: class MyClass { public: MyClass(int value) : constMemberVar(value) { // 注意:不能在这里修改constMemberVar的值 } private: const int constMemberVar; // 声明为const成员变量 }; 复制代码 在这个例子中,...
②类中的const 变量占用存储空间。 ③类中的const成员变量需要在构造函数初始化列表中初始化。 ④const 对象:在该对象生命周期内,必须保证没有任何成员变量被改变。const对象只能调用const成员函数。 ⑤const成员函数: void fun() const ... 不仅能被const对象调用,也能被非const对象调用,因此,如果确认一个任何成员...
但是在某些情况下,需要在const函数中改变成员变量。这就需要把成员变量设置成mutable类型。如 class C { public: void func(const int& p) const { i = p; } private: mutable int i; }; 如果变量i不声明为mutable类型,则编译不会通过。 如果成员变量是一个类类型或者结构类型,而在const函数中调用这些变量...
const成员函数,能够访问所有成员变量,但是在函数体内不能直接修改变量的值(包括普通成员变量),如果需要在函数体内修改普通成员变量的值,需要在变量定义的前面添加mutable关键字,或者通过地址间接修改。注意:const成员函数只能被该类的const对象访问。测试代码如下: ...
class A void function()const; /常成员函数, 它不改变对象的成员变量. /也不能调用类中任何非const成员函数。 对于const类对象/指针/引用,只能调用类的const成员函数,因此,const修饰成员函数的最重要作用就是限制对于const对象的使用。a. const成员函数不被允许修改它所在对象的任何一个数据成员。b. const成员...
局部变量是互相不受影响的。只有不同线程,访问堆空间的相同地址数据的时候,才要注意相互改写的问题。