[C++] auto

HyunDong Lee·2021년 1월 8일
0

C++

목록 보기
1/6

auto

auto는 "타입추론", "데이터 타입 추론", "자동 데이터 추론", "초기화 값에 따라 알아서 데이터 타입을 정해주는 키워드"라는 많은 수식어가 있습니다.
auto 키워드는 선언한 변수나 람다식의 타입을 컴파일러에게 추론하도록 맡깁니다.

예제 코드

auto a = 10; //int type
auto a = 1.1; //float type
auto a = "c"; //char type
auto a = "Hello"; //string type
auto a = {1, 2, 3}; //array type

변수를 정하지 않아도 알아서 변수로 설정해주는 키워드 입니다.

auto const, const&

auto를 사용해서 &, *와 같은 특성(복사가 되지않고 주소를 가리키거나 참조를 하는)을 이용하는 방법도 있습니다.

  • auto&
  • auto*
    이렇게 참조를 이용해서 auto에 값을 받아올 수 있습니다.
vector<int> v({1, 2, 3, 4, 5}); //initialize
for(auto it=v.begin();it != v.end();it++)
	*it += 2;
//위 코드는 iterator를 사용해서 모든 벡터값에 access
for(auto& a:v) *it += 2;
//동일한 코드이다.

또 auto와 const를 함께 사용할 수도 있습니다.

const auto = 1;
const auto = "HelloWorld";
/*이런식으로 사용하게 되면 각각 const int, const string
처럼 사용될 수 있음을 알 수 있습니다.*/

만약에 출력을 해줄 경우에는 복사를 해서 사용하는 것보다 참조를 해서 활용하는 경우가 더 많기때문에 아래와 같이 사용하는 것을 추천드립니다.

for(const auto& a: v) cout << v ,, '\n';
이와 같이 사용하게 되면 auto가 v를 참조해서 사용하는 것으로 받아드리시면 될 것 같습니다.

0개의 댓글