關鍵字mutable是C++中一個不常用的關鍵字,他只能用于類的非靜態和非常量數據成員我們知道一個對象的狀態由該對象的非靜態數據成員決定,所以隨著數據成員的改變,對像的狀態也會隨之發生變化! 如果一個類的成員函數被聲明為const類型,表示該函數不會改變對象的狀態,也就是該函數不會修改類的非靜態數據成員.但是有些時候需要在該類函數中對類的數據成員進行賦值.這個時候就需要用到mutable關鍵字了
例如:
編譯上面的代碼會出現 error C2166: l-value specifies const object的錯誤說明在const類型的函數中改變了類的非靜態數據成員.
這個時候需要使用mutable來修飾一下要在const成員函數中改變的非靜態數據成員m_nAccess,代碼如下:
Powered by: C++博客 Copyright © 安帛偉