auto n = 1.0f;
접미사가 타입을 결정
1은 int, 1.0은 double,
1.0f는 float, 1LL은 long long입니다.
auto는 초기화 식의 작은 차이를 그대로 따라간다
타입 이름을 줄이는 대신 리터럴 접미사, 중괄호 초기화, 참조 유지 여부를 읽을 수 있어야 의도와 결과가 어긋나지 않습니다.
auto n = 1.0f;
1은 int, 1.0은 double,
1.0f는 float, 1LL은 long long입니다.
auto xs = {1, 2, 3};
여러 값을 =와 중괄호로 묶으면
std::initializer_list<int>로 추론됩니다.
auto s = "Hello";
문자열 리터럴은 const char*로 붕괴합니다. 문자열
객체가 필요하면 명시적으로 만듭니다.
auto x = cref;
원본을 읽기 전용으로 보려면
const auto& x = cref;처럼 참조 형태를 씁니다.
큰 객체나 컨테이너 요소 순회라면 auto보다
auto& 계열이 맞을 수 있습니다.
숫자와 문자열은 짧아 보여도 추론 결과가 코드 의미를 바꿀 수 있습니다.
const auto&는 복사를 피하면서 수정 의도가 없다는
사실을 함께 드러냅니다.
짧은 결론: auto를 쓸 때는 “초기화 식이
타입을 충분히 말하는가”와 “참조와 const를 유지해야 하는가”를 함께
확인합니다.