C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C++关键字mutable

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的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文