[C++] mutable 키워드
2022. 3. 8. 12:11ㆍLanguages/C++
Java나 C#에서 string 클래스를 공부하다가 들었던 단어이다. (물론 string 클래스는 immutable이다.) 예전에 C++을 공부할 땐 보지 못했던 키워드라, 신기해서 살펴봤다. const 키워드를 통해 변수나 함수를 읽기 전용으로 만들 수 있었다. 당연히 const 멤버 함수 내부에서 값을 수정하는 것이 불가능하다.
class Monster {
int hp;
public:
void Heal(int value) const {
// hp += value; const 멤버 함수 내부에서 값 수정 불가
}
};
하지만 수정하려는 변수에 mutable 키워드를 붙이면 const 멤버 함수 내에서도 수정이 가능해진다.
class Monster {
mutable int hp; // mutable 추가
public:
void Heal(int value) const {
hp += value;
}
};
728x90
반응형
'Languages > C++' 카테고리의 다른 글
[C++] 클래스 상속 시, 소멸자를 가상 함수(Virtual)로 만들어야 하는 이유 (0) | 2022.07.07 |
---|---|
[C++] 연산자 오버로딩 (Operator Overloading) (1) (0) | 2022.03.08 |
[C++] explicit 키워드 (0) | 2022.02.12 |
[C++] Const 키워드에 대해 (0) | 2022.02.09 |
[C++] 참조 리턴 함수 (0) | 2022.02.09 |