c++中mutable的所有用法及其示例
时间: 2023-12-01 13:02:35 浏览: 99
`mutable` 关键字用于修饰类的成员变量,表示该变量可以在 const 成员函数中被修改。以下是 `mutable` 的用法及示例:
1. 修饰类的成员变量
```c++
class Example {
public:
void constMethod() const {
// 可以修改 mutable 成员变量
mutableVar++;
}
private:
mutable int mutableVar = 0;
};
```
2. 修饰类的 const 成员变量
```c++
class Example {
public:
Example(int value) : constVar(value) {}
void constMethod() const {
// 可以修改 mutable const 成员变量
mutableVar++;
}
private:
mutable const int constVar;
mutable int mutableVar = 0;
};
```
3. 修饰类的 static 成员变量
```c++
class Example {
public:
static int getCount() {
return count;
}
void constMethod() const {
// 可以修改 mutable static 成员变量
mutableVar++;
count++;
}
private:
static int count;
mutable static int mutableVar;
};
int Example::count = 0;
mutable int Example::mutableVar = 0;
```
注意:`mutable` 关键字只能用于非静态成员变量,且不能用于函数、静态变量或全局变量。
阅读全文