C++에서 상수를 나타내기 위해서 두 가지 방법을 제공한다. constexpr : 컴파일 시 평가 const : 수행 중 수정 불가 기본적으로 constexpr의 역할은 compile-time 평가를 가능하게 하고 보장하는 반면, const의 주요 역할은 인터페이스에서 불변성을 지정하는 것이다. 여기서는 인터페이스의 사양에 대해 주로 다룬다. 많은 객체들은 초기화 이후 값이 변경되지 않는다. Symbolic constants는 코드에서 직접 literal을 사용하는 것보다 유지 관리가 더 쉬운 코드로 이어진다. 많은 포인터들이 읽히지만 결코 쓰지 않는 경우가 많다. 대부분의 함수 파라미터들은 읽히지만 쓰지는 않는다. 초기화 후 이러한 불변성 개념을 표현하기 위해 객체 정의에 const를 추가할 수 있다...