C++복습

C++복습) Modern C++/ Auto

PJNull 2021. 12. 22.
728x90
반응형

Auto

 

auto 문법을 사용하면 초깃값의 형식에 맟춰 선언하는 변수의 형식이 자동으로 결정된다. 이것을 타입추론, 혹은 형식연역(Type Deduction)이라고 한다.

class AUTO
{
}

int a=3;
float b=3.14f;
double c=1.23;
AUTO d=AUTO();

auto a=3;
auto b=3.14f;
auto c=1.23;
auto d=AUTO();

//각각의 변수는 같은 타입을 가진다.

 

 

Auto에서 주의점

 

기본 auto는 const와 참조타입을 무시한다. 따라서 참조타입이나 const가 필요할 경우

const auto/auto&등을 반드시 붙여주어여한다.

int a=3;
int b=3.14f;

int& ref=a;
const float con=b;

auto test1=ref;
auto test2=con;

//위 값에서 test1=int타입 test2=float타입으로 나오게 된다.

또한 Auto를 너무 남발하면 가독성에서 매우 불리할수 있지만 매우 긴 타입에 관해서는 auto를 사용하는 것이 편리한 부분도 있다.

int a=1;
auto a=1;
///한눈에 타입을 알수 있을 경우 int 쪽이 auto보다 가독성이 높다.

 
 vector<int> v;
 for(vector<int>::iterator it=v.begin();it!=v.end();++it)
 {
 }
 
 for(auto it=v.begin();it!=v.end();++it)
 {
 }
 
 //긴 타입의 경우 Auto를 쓰는 편이 더욱 편리하다.
728x90
반응형

'C++복습' 카테고리의 다른 글

C++복습) Modern C++/ Using  (0) 2021.12.22
C++복습) Modern C++/ Nullptr  (0) 2021.12.22
C++복습) 생성자 맴버 초기화 리스트  (0) 2021.11.22
C++복습) 다형성  (0) 2021.11.21
C++복습) 클래스 캡슐화(은닉성)  (0) 2021.11.20

댓글