Skip to content
Lee Sun-Hyoup edited this page Mar 3, 2014 · 1 revision
  • 최초 작성자: 이선협
  • 최초 작성 날짜: 2014. 03. 03
  • 수정한 사람:
  • 수정 사유:
  • 수정 횟수:

C++11에서 가장 자주 쓰이는 키워드라고 생각되는 auto는 기존에 상당히 긴 변수명과 헷갈리는 사용법으로 삽질과 스파게티 소스를 줄여주는 역활을 한다.
예를 들어 template을 사용한 클래스의 경우 다음과 같이 코드가 상당히 길어지게 된다.

void ex_func(vector<double> temp) {
    for (vector<double>::iterator iter=temp.begin(); iter!=temp.end(); iter++ ) {
        ...
    }
}

그러나 auto키워드를 사용할 경우 코드 수는 상당히 줄어든다.

void ex_func(vector<double> temp) {
    for (auto iter=temp.begin(); iter!=temp.end(); iter++ ) {
        ...
    }
}

auto키워드를 사용할 경우 코드가 간결해지고 쓸모없는 삽질을 줄이지만 auto키워드를 너무 남발할 경우 코드의 가독성이 줄어들 수 있고 auto에 들어가는 내용을 자세히 모를 경우 프로그래머가 잘못 사용하여 문제를 일으킬 수 있다.

참고로 foreach기능과 같이 사용할 경우 코드의 간결성이 증가한다.

void ex_func(vector<double> temp) {
    for (auto i : temp) {
        ...
    }
}