(Modern C++) auto

Posted by : at

Category : Cpp


아는 내용이 많기에 몰랐던 내용위주로 정리

  • auto는 기본 const, &는 무시된다.
auto a = 3;
int& reference = a;
const int cst = a;

auto test1 = reference; // auto = int
auto test2 = cst;       // auto = int
// const와 &는 무시되고 auto에 들어간다.
// Example
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);

for(vector<int>size_type i = 0; i < v.size(); i++)
{
    auto data = v[i];   // auto = int&를 원함

    data = 100; // &가 무시되기에 이게 안먹음.
}
  • 단, auto를 너무 난발할 경우 가독성이 떨어지기에… 상황에 맞게… 쓰자

그 상황이란게 언제일까?

map<int, int> m;
auto ok = m.insert(make_pair(1, 100));

for(auto it = v.begin(); it != v.end(); ++it)
{
    // ...
}

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links