상수 멤버 함수에서 mutable 데이터 멤버 일 경우에는 수정이 가능하다.
class CTextBook
{
public:
...
std::size_t length() const;
private:
private:
char * pText;
mutable std::size_t textlength;
mutable bool lengthIsValid;
};
std::size_t CTextBook::length() const //상수 멤버 함수
{
if(!lengthIsValid){
textLength = std::stelen(pText);
lengthIsValid = true;
}
return textlength;
}