Reference contract

참조자는 재바인딩 없는 별칭이다

참조자는 포인터와 달리 null 상태를 표현하지 않고, 한 번 묶이면 같은 객체의 다른 이름으로 동작합니다.

01

별칭으로 묶기

초기화 시점에 반드시 실제 객체가 필요하고 이후 다른 객체로 갈아탈 수 없습니다.

02

null 없음

대상이 없을 수 있다는 상태를 나타내야 한다면 참조자보다 포인터가 더 직접적입니다.

03

읽기 계약

큰 객체를 복사하지 않으면서 수정은 막고 싶을 때 const 참조자가 기본 선택지가 됩니다.

1

묶기

선언과 동시에 유효한 객체에 연결했는지 확인합니다.

2

읽기

값을 바꾸지 않는 API는 const T&로 의도를 드러냅니다.

3

수정

원본 변경이 목적이면 T&를 쓰고 호출자에게 효과를 명확히 알립니다.

4

전달

없음 상태가 필요하면 T* 또는 std::optional 같은 표현을 검토합니다.