ตัวระบุคลาสหน่วยเก็บข้อมูลที่เปลี่ยนแปลงได้จะใช้กับสมาชิกข้อมูลคลาสเท่านั้นเพื่อให้สามารถแก้ไขได้ แม้ว่าสมาชิกจะเป็นส่วนหนึ่งของอ็อบเจ็กต์ที่ประกาศเป็น 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 ได้รับการประกาศให้เปลี่ยนแปลงได้