在C++中,mutable也是為了突破const的限制而設(shè)置的。被mutable修飾的變量,將永遠處于可變的狀態(tài),即使在一個const函數(shù)中。
最近在看irrlicht的代碼,其關(guān)于引用計數(shù)的實現(xiàn)中使用了mutable關(guān)鍵字。關(guān)鍵代碼如下:
網(wǎng)上有人說:mutable 數(shù)據(jù)成員的使用看上去像是騙術(shù),因為它能夠使 const 函數(shù)修改對象的數(shù)據(jù)成員。然而,明智地使用 mutable 關(guān)鍵字可以提高代碼質(zhì)量,因為它能夠讓你向用戶隱藏實現(xiàn)細節(jié),而無須使用不確定的東西,比如 const_cast<>。
我認為C++設(shè)置出這個關(guān)鍵字應(yīng)該有更深層次的理由和初衷。壇子里大牛多多,請大家討論一下在實際工作或編碼過程中對于該關(guān)鍵字的使用和認識。謝謝各位。
posted on 2010-10-30 11:27 孔雀 閱讀(2295) 評論(7) 編輯 收藏 引用 所屬分類: C/C++