C++에서 auto는 **문법적으로 "타입 추론 키워드(type inference keyword)"**에 해당합니다.
📌 한 줄 요약
auto는 컴파일러가 변수의 타입을 자동으로 추론하도록 하는 키워드입니다.
✅ 문법적으로는?
auto는 C++의 변수 선언 구문에서 쓰이는 형(type) 명시 방식이에요.
C++11부터 도입되었고, 타입을 사람이 직접 쓰지 않아도 되게 도와주는 역할을 해요.
🔍 예시로 이해하기
기존 방식:
cpp
복사편집
map<int, int> mp; for (map<int, int>::iterator it = mp.begin(); it != mp.end(); ++it) { cout << it->first << " " << it->second << "\n"; }
😵 너무 길고 복잡하죠?
auto 사용:
cpp
복사편집
for (auto it = mp.begin(); it != mp.end(); ++it) { cout << it->first << " " << it->second << "\n"; }
또는 range-based for문에서는:
cpp
복사편집
for (auto kv : mp) { cout << kv.first << " " << kv.second << "\n"; }
➡ auto는 kv가 pair<const int, int>라는 걸 컴파일러가 자동으로 추론해줘요.
📘 문법 카테고리
- auto는 **형(type) 지정자(type specifier)**에 속해요.
- int, double, char처럼 타입을 명시하는 자리에 오는 키워드지만,
컴파일러가 오른쪽 값을 보고 타입을 추론하게 합니다.
✅ 어떤 상황에서 유용할까?
상황이유
STL 컨테이너 반복 | 반복자 타입이 너무 길기 때문에 |
람다 함수 리턴 타입 추론 | 복잡한 리턴 타입을 간단히 |
템플릿 프로그래밍 | 타입을 일반화할 때 유용 |
🧠 정리
항목의미
auto | 변수의 타입을 컴파일러가 추론 |
문법상 위치 | 타입 선언자 (int, double 같은 자리) |
대표 예 | auto it : mp, auto i = 10, auto [x, y] = pair |
등장 버전 | C++11 (기초), C++14~17에서 더 확장됨 |
궁금하셨던 "auto가 문법에서 뭐에 해당하냐"는 질문의 정답은:
✅ 타입 추론용 키워드로, 변수의 타입을 자동으로 추론하는 문법 요소입니다!
'Algorithm' 카테고리의 다른 글
[프로그래머스] 42586번 기능개발 C++ (0) | 2025.02.09 |
---|---|
[백준/BOJ] 16967번 배열 복원하기 C++ (0) | 2025.02.05 |
[백준/BOJ] 14503번 로봇 청소기 C++ (0) | 2025.01.26 |
[백준/BOJ] 14888번 연산자 끼워넣기 C++ (0) | 2025.01.26 |
[백준/BOJ] 25757번 임스와 함께하는 미니게임 C++ (0) | 2025.01.23 |