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 |
댓글