mutable로 선언된 멤버는 상수 함수나 상수 객체에 대해서도 값을 변경할 수 있다.
원래는 상수는 상수 선언을 해줘야 값의 변경이 가능하다.
즉, 상수 개체에서 값을 변경하고 싶을때 붙여주는 키워드이다.
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}