다음을 통해 공유


변경할 수 있는 데이터 멤버 (C++)

이 키워드는 클래스의 비정적 데이터 멤버 중에서 const가 아닌 멤버에만 적용할 수 있습니다. 데이터 멤버가 mutable로 선언된 경우 const 멤버 함수에서 이 데이터 멤버에 값을 할당할 수 있습니다.

mutable member-variable-declaration;

설명

예를 들어 다음 코드는 m_accessCount가 mutable로 선언되었으므로 GetFlag가 const 멤버 함수이더라도 GetFlag를 통해 수정될 수 있기 때문에 오류 없이 컴파일됩니다.

// mutable.cpp
class X
{
public:
   bool GetFlag() const
   {
      m_accessCount++;
      return m_flag;
   }
private:
   bool m_flag;
   mutable int m_accessCount;
};

int main()
{
}

참고 항목

참조

C++ 키워드