when to use auto

auto는 타입이 길고 의도가 식에서 드러날 때 쓴다

auto는 타입을 감추는 도구가 아니라, 반복자·람다처럼 타입 이름이 설명을 방해할 때 쓰는 도구다.

iterator반복자 타입보다 순회 의도가 중요
lambda컴파일러만 아는 클로저 타입
factory반환 식이 생성 책임을 드러냄
range loop복사/참조 의도를 선언에 표시
판단좋은 auto피할 auto
의도식 이름만 봐도 역할이 보임타입 자체가 API 계약인 자리
수명지역 계산 결과를 바로 사용참조 수명 경계가 애매함
가독성긴 타입을 줄여 핵심을 보임독자가 실제 타입을 추측해야 함

핵심 auto는 타입 이름보다 식의 의도가 더 선명할 때만 가독성을 올린다.