같은 의미가 여러 곳에 나오면 이름이 필요합니다.
선언 방식은 의미, 표기법은 타입을 말한다
반복되는 의미는 이름 있는 상수로 올리고, 한 번 쓰는 값은 리터럴로 둡니다. 리터럴은 접두사와 접미사까지 함께 읽습니다.
숫자만으로 단위나 정책이 안 보이면 상수 후보입니다.
필요한 블록 안에 지역 const를 둡니다.
변경 지점이 한 곳으로 모여야 합니다.
0b, 0x, R은 해석 방식을 바꿉니다.
U, LL, F는 저장 타입을 바꿉니다.
문자열 리터럴은 끝에 널 문자를 포함합니다.
연산과 오버로드 선택에서 타입 힌트를 확인합니다.
리터럴로 둔다
주변 코드만으로 뜻이 충분하면 이름을 과하게 만들지 않습니다.
const로 이름 붙인다
의미, 단위, 변경 위치가 한 곳으로 모입니다.
enum 계열을 고려
제한된 정수 값은 타입으로 범위를 좁혀 읽기 쉽게 만듭니다.
단순 치환 매크로는 타입 검사와 스코프가 약하므로 현대 C++의 기본 상수 표현으로 두지 않습니다.