원래대로라면 const로 멤버 함수가 상수화되면 이 함수는 멤버 변수를 변경시키지 못한다. 그러나 멤버 변수가 mutable로 선언되어 있다면 상수화된 멤버 함수라도 멤버 변수 변경이 가능해진다.
class AAA
{
mutable int val;
public:
void setValue(int _val) const
{
val = _val;
}
};
setValue는 상수화된 멤버 함수이므로 원래대로라면 멤버 변수 val을 변경할 수 없지만 val 이 mutable로 선언되었으므로 값 수정이 가능하다.
'프로그래밍 언어 > C++' 카테고리의 다른 글
C extern (변수 / 함수 외부 선언) (0) | 2022.09.27 |
---|---|
C++ auto 타입 추론 (0) | 2022.09.21 |
C++ static (정적 변수 / 함수) (0) | 2022.09.13 |
C++ inout형 포인터 *& (0) | 2022.09.02 |
C++ 클래스 배열 포인터 및 2차원 배열 포인터 (0) | 2022.09.01 |