Auto
STL의 많은 요소 중 가장 먼저 알아야 할 내용으로 생각된다.
auto 키워드는 컴파일러가 대상의 타입을 추론해 타입을 결정하므로 Iterater를 타입에 맞춰 선언하는 것보다 더 편하게 사용할 수 있다. 다만, 변수의 타입을 명확히 알 수 있어야 하기 때문에 선언 시 초기화가 반드시 필요하다.
auto a,b;
cin >> a >> b;
cout << a + b << '\n';
위의 코드는 컴파일 에러가 발생한다. 다음과 같이 초기화하여 사용해야 한다.
auto a = 0, b = 0; // a와 b의 타입은 int일 것이다.
Iterater을 예로 들면,
vector<int>::iterator it = a.begin();
위의 코드 보다 다음의 코드가 더 간결하다.
auto it = a.begin();
본 문법이 C++ 11에서 등장했으므로 시험이나 SCPC에서 사용이 불가능하다.