본문 바로가기

SW 지식/C 와 C++ 공부

[C++] mutable 변수

mutable의 사전적 정의

mutable

형용사
1.변덕스러운
2.변하기 쉬운
3.가변성의

그렇다면, C++에서 나오는 mutable 키워드는 무엇일까?

mutable specifier

  • mutable - permits modification of the class member declared mutable even if the containing object is declared const.

즉, 객체가 const로 선언된 경우에도 변경 가능하도록 허용한다는 것을 나타낼 때 사용!

예를 들어,

struct MyInfo
{
    int a;
    mutable int b;
};

void main()
{
    const MyInfo value = {5,8};
    value.a = 4; // 에러
    value.b = 7;
}

이러한 경우 const 구조체 value의 멤버 변수 a를 수정하는 것은 불가능.
하지만, mutable 키워드가 붙은 b의 경우 수정이 가능!

참조 : https://en.cppreference.com/w/cpp/language/cv

'SW 지식 > C 와 C++ 공부' 카테고리의 다른 글

[C++] emplace 함수  (0) 2021.09.23
[C++] unordered_map 컨테이너  (0) 2021.09.23
[C++] std::function 은 무엇일까  (0) 2021.09.16
[C++] 람다 식 Lambda expressions  (0) 2021.09.16
[C++] String의 substr  (0) 2021.09.02