197 - 问,volatile mutable

197 - 问,volatile mutable

无意间又看到了似曾相识,但在我的开发中从未使用过的mutable,简要复习下。

const

常量等等。表示不可变。

volatile

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。

mutable

在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量(mutable只能由于修饰类的非静态数据成员),将永远处于可变的状态,即使在一个const函数中。

参考资料

http://blog.csdn.net/wuliming_sc/article/details/3717017

你可能感兴趣的:(197 - 问,volatile mutable)