usage guide

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

auto의 장점은 타입 이름 반복을 줄이는 것입니다. 대신 복사인지 참조인지가 중요한 곳은 선언 형태를 분명히 써야 합니다.

STL 반복자

길고 중복되는 iterator 타입을 줄입니다.

auto it = numbers.begin();

람다 저장

람다의 익명 타입은 직접 쓸 수 없으므로 auto가 자연스럽습니다.

auto add = [](int a, int b) { return a + b; };

복잡한 반환값

반환 타입보다 변수의 쓰임이 더 중요할 때 반복을 줄입니다.

auto value = create_complex_object();

쓰기 좋은 경우

오른쪽 식만 봐도 의미가 분명하고 타입 이름이 길 때.

명시가 나은 경우

리터럴 타입, 단위, 소유권, 복사 비용을 독자가 바로 알아야 할 때.