在C++中,也可以設置可變項來突破const,由可變變量修改的變量將始終處于可變狀態,即使在常量函數中也是如此,下文是武林技術頻道小編為大家帶來的深入解析c++關鍵字mutable的實現方法,一起來了解一下吧!
1、關于mutable關鍵字
先說用法,mutable關鍵字只能修飾非靜態以及非常量成員變量,使用mutable修飾的成員變量在const函數中的值是可以修改的。
比如說下面的代碼:
?
int main()
{
?? return 0 ;
}
編譯的時候會報錯,因為const成員函數修改了成員變量,但是如果聲明m_nAccess的時候加上關鍵字mutable就可以了。
?
PS:一個對象的狀態由該對象的非靜態數據 成員決定,所以隨著數據成員的改變, 對像的狀態也會隨之發生變化! 如果一個類的成員函數被聲明為const類型,表示該函數不會改變對象的狀態,也就是該函數不會修改類的非靜態數據成員.但是有些時候需要在該類函數中對類的數據成員進行賦值.這個時候就需要用到mutable關鍵字了。
以上就是深入解析c++關鍵字mutable的實現方法,相信大家今天一定又學習到新的知識了吧?如果你想不斷的進步,你可以隨時來武林技術頻道學習,相信一定能大大提高你的專業能力。
新聞熱點
疑難解答
圖片精選