C++11 부터 auto가 생겨나면서 아래의 문제점들이 해결되었다. 초기화되지 않는 변수를 컴파일러가 에러로 잡지 않는다. => auto 키워드로 변수를 선언하려면 무조건 초기화를 해야함. int x; // 문맥에 따라 초기화 안됨 auto x2; // 오류! 초기치가 꼭 필요함 auto x3 = 0; // 양호함 값의 형식이 간단하지 않다. => auto 는 type deduction을 통해 타입을 줄여줌 template void dwim(It b, It e) { for (; b != e; ++b) { typename std::iterator_traits::value_type curValue = *b; ... } } template void dwim(It b, It e) { for (; b != e; ..