const로 선언되어 있는 함수에서는 값을 쓰거나 변경하지 못한다. 오로지 읽기만 가능하다.
하지만 mutable 예약어를 사용해 선언한 변수는 const 함수에서 값 쓰기와 변경이 가능하다.
너무 좋다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include<iostream> class AAA { private: mutable int count = 0; public : int getCount() const; void setCount(); void showData(); }; int AAA::getCount() const { count = 10; return count; } void AAA::setCount() { count = 1; } void AAA::showData() { std::cout << count << std::endl; } int main(){ AAA *aaa = new AAA(); aaa->setCount(); aaa->showData(); //출력값 : 1 int b = aaa->getCount(); std::cout << b << std::endl; //출력값 : 10 delete aaa; return 0; } | cs |
const 함수는 자주 사용하면 좋다고 한다. 유지보수나, 다른 사람이 내 코드를 읽을 때 이해하기 쉬워진다나 뭐라나
반응형