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

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

구문

mutable member-variable-declaration;

설명

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

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

참고 항목

키워드