这样的用法当function是一个类的成员函数时有意义,如 class A { private: bool data; public: int functionA int functionB() const; //... }; 在functionA中可以修改数据成员data,因为this指针类型是A* 在functionB中可以不能修改任何数据成员data,因为此时this指针类型是const A* 所以一般情况下被const修饰的函数是不能改变对象状态的(即成员变量),有时候可能必须在const函数中修改一个数据成员,怎么办? 加mutable关键字,如 class A { private: mutable bool data; //can always be modified public: int functionB() const; }; 加了mutable以后,即使在const的functionB中也可以修改data的值: int A::functionB() { data = false; //No problem! }
C++ int function() const; 怎么理解?
最新推荐文章于 2022-05-08 23:19:04 发布