C++关键字mutable学习笔记
作者:Totn
这篇文章主要为大家介绍了C++关键字mutable学习笔记,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
C++关键字mutable
mutable
主要用于解决常量成员函数无法修改对象状态的限制.
在常量成员函数中, 允许修改关键字 mutable
修饰的变量.
#include <iostream> class MyClass { public: MyClass(int value) : m_value(value) {} void setValue(int value) const { // 在常量成员函数中修改成员变量 m_value = value; // 使用mutable修饰m_value可以直接修改 std::cout << "Modified value: " << m_value << std::endl; } int getValue() const { return m_value; } private: mutable int m_value; }; int main() { MyClass obj(10); std::cout << "Initial value: " << obj.getValue() << std::endl; obj.setValue(20); std::cout << "New value: " << obj.getValue() << std::endl; return 0; }
注意: mutable
只能用于非静态成员变量, 对于静态成员变量无效.
而常量成员函数通常设计为不修改对象的状态, 使用mutable
打破了这种约定, 使用时要慎重.
以上就是C++关键字mutable学习笔记的详细内容,更多关于C++关键字mutable的资料请关注脚本之家其它相关文章!