mutable 2
-
Class의 함수는 헤더와 cpp로 분리하여 사용할 수 있다. 위와 같이 헤더에는 선언된 함수의이름과 반환형을 선언해주고. cpp에는 해당 함수가 동작하는 동작문을 같은 이름으로, Class의 이름과 함께 선언해주면 된다. 위 13번 문단을 해석해보면, Calcu값을 리턴으로 돌려주는, Calcu라는 Class에 속한 Sub라는 함수가 int형의 value매개변수를 받아서 동작한다. 라는 뜻이다. 또한, 헤더 에서 cpp로 함수명을 가져올 때 에는 inline이 선언된 것과 같은 효과를 가지는데, 일반적인 함수에 비해 실행속도에 더 큰 이득이 있다. 상수화 시킨 Class에서 어떠한 변수를 수정해야할 경우 mutable 을 사용한다. 만약의 상황에서 cosnt 선언된 것이 변환되어야 할 경우 사용할 수 ..
-
mutable은 C++에서 클래스멤버 변수 중 상수멤버 함수 내에 값이 변경될 수 있는 변수를 나타내는 키워드 이다. mutable 키워드가 멤버 변수 선언 앞에 붙으면, 이 멤버 변수는 const로 선언되어도, 상수 멤버 함수 내에서 변경될 수 있다. 장점const 함수 내에서 변경되는 변수를 표현할 수 있다.멤버 변수의 값을 상수 멤버 함수에서 변경해야 하는 경우. 매우 쉬운 해결책으로 사용할 수 있다.단점mutable을 남용하면 코드의 가독성을 떨어뜨릴 수 있다. 객체의 상태를 변경하는 변수를 나타냄으로, 과도한 사용은 코드를 난잡하게 만들기 때문.다음은 mutalbe을 사용한 예시이다.다음과 같이 선언된것의 , private으로 선언된 부분인 mutable int mutable_variable은..