[c++]auto

C++/Tips / / 2021. 1. 19. 15:56

auto형식은 컴파일러 스스로가 해당 형식을 추론하도록 지시하는 키워드이다.

기본적으로 아래와 같은 장점을 가지고 있다.

auto i1 = 1;	// int
auto i2 = {1,2,3,4,5,6,7,8,9,0}; //int*
auto i2 = 1.0f; //float
auto i3 = 'a'; //char
auto i4 = "hello world!"; //string

=> 1. 견고성 : 식의 형식이 변하는 경우에 작동

=> 2. 성능 : 스스로의 형식변환이 발생하지 않음

=> 3. 유용성 : 형식 이름 및 철자문제 및 오타를 걱정하지 않아도 됨

=> 4. 효율성 : 코딩을 효율적으로 수행할 수 있음

=> 5. 정확성 : 초기값을 설정하지 않아서 발생하는 문제를 막을 수 있음

 

다만 아래와 같은 단점 또한 가지고 있다.

=> 1. 특정 형식을 원하는 경우 다른 항목은 사용할 수 없음[템플릿]

 

Auto의 활용

1. &와의 사용

=> 아래의 세 식은 동일한 역할을 수행한다.

for(iter i = v.begin(); i != v.end(); ++i)
{}

for(auto i = v.begin(); i != v.end(); ++i)
{}

for(auto& element:v)
{}

 

2. 동적할당

double x = 12.34;
auto *y = new auto(x), **z = new auto(&x);

 

'C++ > Tips' 카테고리의 다른 글

[c++]SmartPointer  (0) 2021.02.02
[c++] struct  (0) 2021.01.26
[c++]Typename  (0) 2021.01.26
[c++]volatile  (0) 2021.01.12
[C++] Extern  (0) 2021.01.05
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기