Updated:

less than 1 minute read

개요

  • const 함수에서 멤버 변수의 값 변경이 필요한 경우 사용
  • 캐시 변수 등에 사용


예제

  • 코드
     #include <iostream>
        
     using namespace std;
        
     class Test {
     	private:
     		int i;
     		mutable int cache;
        
     	public:
     		int GetI() const {
     			this->cache = this->i;
     			return this->i;
     		}
        
     		void SetI(int i) { this->i = i; }
        
     		int recentGetI() const { return this->cache; }
     };
        
     int main() {
     	Test t;
     	t.SetI(1);
     	t.GetI();
     	t.SetI(2);
     	cout << t.recentGetI() << endl;
        
     	return 0;
     }
    
  • 실행 결과
     1