Type Deduction

auto 추론 규칙

auto는 값으로 받으면 참조와 최상위 const를 떼어내고, auto&나 const auto&를 쓰면 원본 성질을 더 보존한다.

선언 형태에 따른 추론 결과

decay 규칙

auto x

표현식의 값 타입을 기준으로 복사 가능한 형태를 만든다.

auto& x

참조를 유지해 원본을 직접 바라보도록 만든다.

const auto& x

복사 없이 읽기 전용으로 긴 수명 표현식을 받는다.

배열/함수

값으로 받으면 포인터 형태로 decay될 수 있어 주의한다.

초기화식 선언 형태 확인 const/ref 조정 decay 적용 변수 타입 확정
추론 기준

auto 자체가 위험한 것이 아니라 선언 형태가 의도를 말한다. 수정 여부와 복사 비용을 먼저 정하면 선택이 명확해진다.