C++关键字 mutable explicit volatile介绍

1. mutable只能用来修饰类的非静态、非常量的数据成员,我们知道,一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对象的状态也会随之改变。如果一个类的成员函数被声明成const类型,表示该函数不会改变对象的状态,也就是说该函数不会修改类的非静态数据成员,但是有些时候在该类的函数中对类的数据成员进行赋值,这时候就需要mutable关键字出场了。

2. volatile关键字,告诉编译器不要持有变量的临时拷贝。

3. explicit关键字,禁止单参数的构造函数被用于自动类型转换。

原文地址:https://www.cnblogs.com/eric-geoffrey/p/3161946.html