在 C++ 中,mutable
是一个关键字,用于声明类的成员变量,允许该成员变量在 const
成员函数中被修改。
const
,那么它不能修改任何非 mutable
的成员变量。使用 mutable
关键字可以打破这一,允许在 const
成员函数中修改该成员变量。#include <iostream>
class Example {
public:
mutable int num; // 使用 mutable 关键字
Example(int value) : num(value) {}
// const 成员函数
void display() const {
num++; // 可以修改 mutable 成员
std::cout << "Num: " << num << std::endl;
}
};
int main() {
Example ex(5);
ex.display(); // 输出 Num: 6
ex.display(); // 输出 Num: 7
return 0;
}
num
是一个 mutable
成员变量,因此在 const
成员函数 display()
中可以被修改。display()
被声明为 const
,调用 ex.display()
时,num
仍然可以增加。mutable
的主要用途是使得某些类的成员变量在 const
成员函数中可以被修改,这在某些情况下(如缓存、状态标记等)非常有用。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务