Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

auto 키워드는 C++에서 무엇을 합니까?


Auto는 거의 영원히 존재했지만 거의 사용되지 않은 C++가 C에서 "상속"한 키워드였습니다. 이 모든 것이 C++11의 컨텍스트에서 형식 추론을 수행하는 auto의 도입으로 변경되었습니다. C++ 11 이전에는 각 데이터 유형을 컴파일 시간에 명시적으로 선언해야 하므로 런타임 시 표현식 값이 제한되지만 C++의 새 버전 이후에는 프로그래머가 유형 추론을 컴파일러 자체에 맡길 수 있도록 하는 많은 키워드가 포함됩니다.

유형 유추 기능을 사용하면 컴파일러가 이미 알고 있는 내용을 작성하는 데 시간을 덜 보낼 수 있습니다. 모든 타입은 컴파일러 단계에서만 추론되기 때문에 컴파일 시간이 약간 증가하지만 프로그램의 런타임에는 영향을 미치지 않습니다.

auto 키워드는 선언된 변수의 유형이 초기화에서 자동으로 추론되고 반환 유형이 auto인 경우 함수의 경우 런타임에 반환 유형 표현식으로 평가되도록 지정합니다.

예시

#include<iostream>
#incllude<vector>
using namespace std;

int main() {
   vector<int> vec(10);       // Auto deduce type to be iterator of a vector of ints.
   for(auto it = vec.begin(); it != vec.end(); vec ++)
   {
      cin >> *it;
   }
   return 0;
}