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에서 사용이 불가능하다.

results matching ""

    No results matching ""