auto是c语言的一个关键字,但是却很少使用。c++11重修定义了auto的含义,如果使用auto关键字,而不指定变量的类型的话,编译器将把变量的类型设置成为初始值相同的变量类型。
例
auto n=1//n is int
auto x=1.0//x is double
auto y=1.55e12L //y is long double
std::vector<int>a;
auto it=a.begin();//it is an iterator of this vector
用法虽好,但是也有缺陷。
类如你想定义一个double类型的n,使用 auto n=1;使用自动类型推断时,会将n推断为Int类型,可能会导致问题。