한 번 쓰는 값
의미가 바로 보이면 그대로 둔다.
리터럴은 빠르고 직접적이지만, 값의 의미가 숨으면 const, constexpr, enum으로 의도를 드러낸다.
의미가 바로 보이면 그대로 둔다.
이름, 타입, 스코프가 필요한 기본 선택이다.
배열 크기처럼 컴파일 값이 필요할 때 쓴다.
상태나 모드처럼 값 묶음에 어울린다.
같은 값이 여러 곳에 나오면 상수 후보다.
숫자만 보고 의도가 안 보이면 이름을 붙인다.
접두사와 접미사로 해석 타입을 확인한다.
필요한 블록 안에 상수를 둔다.
바뀌면 변수를, 안 바뀌면 상수를 선택한다.
피할 것 #define은 타입과 스코프가 약하므로 현대 C++ 상수 표현의 기본 선택으로 두지 않는다.