mutable和volatile

        類的成員函數不會改變對象的狀態,那麼這個成員函數通常會聲明成const的。可是,有些時候,咱們須要在const的函數裏面修改一些跟類狀態無關的數據成員,那麼這個數據成員就應該被mutalbe來修飾。編程

    mutable在類中只可以修飾非靜態數據成員多線程

    mutable則是爲了能突破const的封鎖線,讓類的一些次要的或者是輔助性的成員變量隨時能夠被更改。const和mutable關鍵字只是給了建模工具更多的設計約束設計靈活性。函數

    volatile修飾的數據,編譯器不可對其進行執行期寄存於寄存器的優化。這種特性,是爲了知足多線程同步、中斷、硬件編程等特殊須要。遇到這個關鍵字聲明的變量,編譯器對訪問該變量的代碼就再也不進行優化,從而能夠提供對特殊地址的直接訪問。工具

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

相關文章
相關標籤/搜索