mutable關鍵字的用法

2021-06-19 13:50:57 字數 285 閱讀 3935

關鍵字mutable是c++中乙個不常用的關鍵字,他只能用於類的非靜態和非常量資料成員

我們知道乙個物件的狀態由該物件的非靜態資料成員決定,所以隨著資料成員的改變,

對像的狀態也會隨之發生變化!

如果乙個類的成員函式被宣告為const型別,表示該函式不會改變物件的狀態,也就是

該函式不會修改類的非靜態資料成員.但是有些時候需要在該類函式中對類的資料成員

進行賦值.這個時候就需要用到mutable關鍵字了

mutable關鍵字提示編譯器該變數可以被類的const函式修改

關鍵字mutable小議

關鍵字mutable小議 內容 我們知道在用const修飾的類成員函式,這意味著什麼,從effective c 這本書上我們可以了解到,這裡存在兩個流行的概念 bitwise constness or physical constness 和logical constness.bitwise con...

mutable關鍵字解析

c 11引入mutable關鍵字,它是乙個型別修飾符,用來修飾成員變數或者是lambda函式,接下來分布來說明。當mutable用來修飾成員變數時,表明該成員變數屬於物件內部可變狀態,對外不可見。即使在const函式也可改變,不影響外部使用者對此const函式的邏輯語義。比如,基於mutex的執行緒...

c 中mutable關鍵字

mutalbe的中文意思是 可變的,易變的 跟constant 既c 中的const 是反義詞。在c 中,mutable也是為了突破const的限制而設定的。被mutable修飾的變數,將永遠處於可變的狀態,即使在乙個const函式中。我們知道,如果類的成員函式不會改變物件的狀態,那麼這個成員函式一...