mutable和volatile

        类的成员函数不会改变对象的状态,那么这个成员函数通常会声明成const的。可是,有些时候,咱们须要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。编程

    mutable在类中只可以修饰非静态数据成员多线程

    mutable则是为了能突破const的封锁线,让类的一些次要的或者是辅助性的成员变量随时能够被更改。const和mutable关键字只是给了建模工具更多的设计约束设计灵活性。函数

    volatile修饰的数据,编译器不可对其进行执行期寄存于寄存器的优化。这种特性,是为了知足多线程同步、中断、硬件编程等特殊须要。遇到这个关键字声明的变量,编译器对访问该变量的代码就再也不进行优化,从而能够提供对特殊地址的直接访问。工具

http://blog.csdn.net/tht2009/article/details/6920511
优化

相关文章
相关标签/搜索