정체불명의 모모

c++ 시작 : auto(어서와c++은 처음이지?) 본문

프로그래밍(c++)

c++ 시작 : auto(어서와c++은 처음이지?)

정체불명의 모모 2019. 11. 25. 21:49

1. auto

[ c++11이전에 ]

auto는 단순히 자동 변수라는 의미만을 가지고 있었다.

즉 지역 변수가 함수 안에서 선언되었다가 함수가 종료되면 자동으로 소멸되는 것을 의미 하였다.

  하지만 c++11가 발표되면서  auto의 시대가 왔다.

 double d =1.0;                // 선언 & 초기화

우리가 변수 d를 double으로 선언하였지만 컴파일러는 이미 초기값 1.0을 보고

 변수 d 가 double 형이라는 것을 알 수 있다. 

이런 경우에는 double을 생략해도 되지 않을까?

이런 경우에 자료형을 생략할 때 사용하는 키워드가 바로  auto이다.

이것을 자동 타입 추론(automatic type deduction)이라고 부른다.

 * c#에서 Var랑 같은게 아닐까??

 auto d = 1.0 ;               // 1.0은 double형 리터럴이어서 d의 자료형은 double이 된다.

 

 auto add(int x, int y)

{

   return x+y ;

}

 

int main( )

{

   auto sum = add(5,6);                   // add( )는 정수값을 반환하므로 sum은 int형이 된다.

   return 0;

}

 

Comments