when to use auto
auto는 타입이 길고 의도가 식에서 드러날 때 쓴다
auto는 타입을 감추는 도구가 아니라, 반복자·람다처럼 타입 이름이 설명을 방해할 때 쓰는 도구다.
iterator반복자 타입보다 순회 의도가 중요
lambda컴파일러만 아는 클로저 타입
factory반환 식이 생성 책임을 드러냄
range loop복사/참조 의도를 선언에 표시
| 판단 | 좋은 auto | 피할 auto |
|---|---|---|
| 의도 | 식 이름만 봐도 역할이 보임 | 타입 자체가 API 계약인 자리 |
| 수명 | 지역 계산 결과를 바로 사용 | 참조 수명 경계가 애매함 |
| 가독성 | 긴 타입을 줄여 핵심을 보임 | 독자가 실제 타입을 추측해야 함 |
핵심 auto는 타입 이름보다 식의 의도가 더 선명할 때만 가독성을 올린다.