프로그래머/CPP_강의정리

cpp Modern C++ auto

미역국마싯 2021. 11. 23. 18:50

auto

type deduction(타입 추론) 해준다.

값을 보고 type을 추론한다.

추론 규칙은 복잡하기 때문에 중급자 이상일 때 알아보는걸 추천한다.

int i = 3;
float f = 3.14f;
double d = 45.32;
MakeClass mc = MakeClass();
const char* word = "hello";

auto i = 3;
auto f = 3.14f;
auto d = 45.32;
auto mc = MakeClass();
auto word = "hello";

auto를 사용할 때 주의할 점은 const와 &을 무시한다는 점이다.

int a = 3;

int& ref = a;
const int cst = a;

auto test1 = ref;	// auto -> int
auto test2 = cst;	// auto -> int

따라서 const와 &가 있는 type을 추론할 때에는 const auto, auto& 이렇게 사용하면 된다.

 

기존에 존재하던 type을 사용하지 않고 auto만 사용하면 되지 않을까?

auto만 사용하면 가독성이 떨어지는 문제가 있다. int 타입을 보면 어떤 데이터를 가지고 있는지, 메모리 크기가 몇 바이트인지 직관적으로 알 수 있지만, auto는 그렇지 않기 때문이다.

auto가 유용할 때는 타이핑이 길어지는 경우이다.

vector<int>::iterator it;
auto it;

 

 

 

출처

https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1/dashboard

 

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의

시리즈를 원활하게 학습하기 위한 기초적인 C++ 문법들에 대해 학습합니다. 어셈블리 언어부터 시작해서 기본 C++ 문법, STL, C++11까지 핵심적인 내용을 압축해서 다루게 됩니다., - 강의 소개 | 인

www.inflearn.com

 

'프로그래머 > CPP_강의정리' 카테고리의 다른 글

cpp Modern C++ nullptr이 생긴 이유  (0) 2021.11.23
cpp Modern C++ 중괄호 초기화  (0) 2021.11.23
cpp algorithm 라이브러리  (0) 2021.11.23
cpp STL 기타 연관 컨테이너  (0) 2021.11.23
cpp STL MAP  (0) 2021.11.22