ตัวระบุคลาสหน่วยเก็บข้อมูลที่เปลี่ยนแปลงได้จะใช้กับสมาชิกข้อมูลคลาสเท่านั้นเพื่อให้สามารถแก้ไขได้ แม้ว่าสมาชิกจะเป็นส่วนหนึ่งของอ็อบเจ็กต์ที่ประกาศเป็น const คุณไม่สามารถใช้ตัวระบุที่เปลี่ยนแปลงได้กับชื่อที่ประกาศเป็นสแตติกหรือ const หรือสมาชิกอ้างอิง
ใน ตัวอย่างต่อไปนี้ −
class A
{
public:
A() : x(4), y(5) { };
mutable int x;
int y;
};
int main()
{
const A var2;
var2.x = 345;
// var2.y = 2345;
} คอมไพเลอร์จะไม่อนุญาตให้มอบหมาย var2.y =2345 เนื่องจาก var2 ได้รับการประกาศเป็น const คอมไพเลอร์จะอนุญาตการมอบหมาย var2.x =345 เนื่องจาก A::x ได้รับการประกาศให้เปลี่ยนแปลงได้