글 작성자: Sowhat_93

C++11 에 mutable keyword가 추가 되었다.

아래의 간단한 코드를 보도록 하자.

너무 간단하다.

#include <iostream>

class Entity
{
private:
	int A = 10;
	mutable int B = 20;
	int C = 30;
public:
	Entity				() {}
	virtual ~Entity		() {} 
	void Function() const 
	{ 
		//A = 20;
		//컴파일 에러 함수 선언에 const가 붙었다.

		B = 30;
		//Okay.
		//B에는 mutable 키워드가 붙었음으로 const가 붙은 함수에서도 B값에 대한 수정이 허용된다.

	}
};

mutable은 멤버 변수 혹은 람다에서 사용이 가능하다.

int main()
{
	mutable int A = 10;
	//무의미하다.
	//멤버 변수 혹은 람다에서 사용이 가능하다.
}