Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 변경 가능한 스토리지 클래스


변경 가능한 저장소 클래스 지정자는 멤버가 const로 선언된 개체의 일부인 경우에도 수정할 수 있도록 클래스 데이터 멤버에만 사용됩니다. static 또는 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가 const로 선언되었기 때문에 var2.y =2345 할당을 허용하지 않습니다. 컴파일러는 A::x가 변경 가능한 것으로 선언되었기 때문에 var2.x =345 할당을 허용합니다.