auto를 사용하면 변수를 명시할 때 타입을 지정해주지 않아도 됨.
auto로 정의한 변수를 초기화할 때 타입을 결정 (컴파일 할 때)
단, 클래스의 멤버변수, 전역변수, 함수의 인자로는 auto를 사용할 수 없다.
동적언어와 다른점은 변수의 type을 실행할 때가 아닌 컴파일할 때 결정한다는 것. (동적언어는 런타임시 결정)
선언과 동시에 초기화 해주어야 함.
지역변수에만 사용가능.
코드가 간결해지고 가독성이 좋아짐.
개발자가 잘못된 타입을 지정하여 사용하는 것을 방지.