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 |