선언 선택

const 적용 기준

const 위치는 외울 수 있지만, 설계에서는 값 수정, 주소 재지정, 없음 상태 표현을 분리해서 판단하는 편이 더 안전합니다.

읽기 전용

const T*

대상 값은 보호하고, 포인터가 다른 대상을 가리키는 것은 허용합니다.

주소 고정

T* const

포인터 변수의 재지정을 막고, 가리키는 값의 수정은 허용합니다.

둘 다 보호

const T* const

주소와 대상 값을 모두 고정해 함수 내부의 의도치 않은 변경을 차단합니다.

API 판단

대상이 항상 존재하면 참조를 우선 고려하고, 없을 수 있으면 포인터와 nullptr 의미를 명확히 문서화합니다.