mutable英音:'mju:t?bl美音:'mjut?b!,形容詞,意為易變的;反復無常的。在C++語言中,是命令語言——如果一個函數被const 修飾,那么它將無法修改其成員變量的,但是如果這個成員變量是被mutable修飾的話,則可以修改。
mutable 可以用來指出,即使結構或者類變量為const,其某個成員也可以被修改。
在c++的類中, 如果一個函數被const 修飾,那么它將無法修改其成員變量的,但是如果這個成員變量是被mutable修飾的話,則可以修改。
例如:
struct data
{
char name[30];
mutable int accesses;
.
};
const data veep = {"david";,0,}
strcpy(veep.name,"Jimmy");// not allowed
veep.accesses++; // allowed
veep 的const限定符禁止程序修改veep的成員,但access成員的mutable說明符表示access不受這種限制。