하다보니
[C++]auto 본문
auto 키워드는 선언된 변수의 초기화 식을 사용하여 해당 형식을 추론하도록 컴파일러에 지시한다.
즉, auto 키워드를 사용하면 초기값 형식에 맞춰 선언하는 인스턴스(변수)의 형식이 자동으로 결정된다. 이것을 타입 추론(type inference)라고 한다.
auto d=5.0; //5.0은 double type이므로 d는 double로 결정
auto i=1+2; //1+2는 int type이므로 i는 int 타입
변수를 함수의 반환 값으로 초기화 할 때도 사용 가능하다.
int add(int x, int y)
{
return x + y;
}
int main()
{
auto sum = add(5, 6); // add() returns an int, so sum will be type int
return 0;
}
auto는 함수 매개 변수와 함께 사용할 수 없다. 아래와 같이 사용 불가. 컴파일러가 컴파일 시 함수 매개 변수 x와 y에 대한 타입을 추론할 수 없기 때문이다.
void addAndPrint(auto x, auto y) { std::cout << x + y; }
C++14에서는 auto 키워드가 함수의 반환 타입을 자동으로 추론할 수 있도록 확장되었다.
auto add(int x,int y)
{
return x+y;
}
하지만 위의 문법은 사용하지 않는 게 좋다. 함수의 반환 타입은 호출자가 함수에서 어떤 값을 반환할 지 예상하는데 auto 키워드를 사용하면 잘못 해석할 수 있으며 오류가 발생할 수 있다.
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C++]pair 사용법 (0) | 2022.01.22 |
---|---|
[C++]문자열 숫자 간 형변환 (0) | 2022.01.13 |
sort algorithm (0) | 2022.01.10 |
fill 함수 (0) | 2022.01.09 |
[C++]배열 (0) | 2022.01.09 |