[C++] Auto

RisingJade의 개발기록·2022년 4월 7일
0

AUTO


Rookiss님의 강의 C++프로그래밍 입문에서 참조한 내용입니다.
핵심만 정리해 보았습니다.
https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1

개요

정말 편리한 기능이다. 아무 생각없이 쓰면 안되지만 그래도 간단하게 사용할때 일일이 int, float, string 등을 생각해서 쓰기 싫을때, auto키워드만 넣어주면 깔끔하게 해결된다.

템플릿과 같은 느낌으로 알아서 변수 타입을 추론해서 사용한다.

int a = 3;
float b = 1.1f;
double c = 123.123;
SampleClass d = SampleClass();
___

auto a = 3;
auto b = 1.1f;
auto c = 123.123;
auto d = SampleClass();
  • 보이는바와 같이 대충 될것 같으면 다 된다.

주의점

  • 기본적으로 auto는 const랑 참조자 &는 무시한다.
int a = 1;
int& ref = a;
const int const_int_type = a;

auto test1 = ref; // test1은 int가 된다...
auto test2 = const_int_type; // 이것도 int가 된다.
  • 위에 보이는 바와 같이 &const는 빠지게 된다. 그러니 참조형식이나 constauto로 쓰고 싶으면 auto&const auto를 붙이자.

너무 auto를 맹신하지 말자

  • 너무 auto를 남발하면 남이 볼 때, 혹은 내가 나중에 볼 때 현재 보고있는 타입이 무엇인지 한눈에 보기 힘들다. 즉, 가독성이 떨어진다.
profile
언제나 감사하며 살자!

0개의 댓글