Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

คลาสหน่วยเก็บข้อมูลที่ไม่แน่นอนใน C++


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