변경할 수 있는 데이터 멤버 (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()
{
}