在C++11标准之前,auto是一个说明符,表示变量为自动变量,但是在C++中,一般把变量默认为自动存储,所以关键字auto很少用到。在C++11标准实行后,auto不再是说明符,它被重新定义,用于自动类型推断,比如:
auto n=100; //n is int
auto x=1.5; //x is double
auto y=1.3e12L; // y is long double
当然,如果单单将auto用在上面的情况下那就显得大材小用了,再看看下面的用法:
在C++98标准下的代码:
std::vector<double> scores;
std::vector<double>::interator pv=scores.begin();
在C++11标准下可以写成:
std::vector<double> scores;
auto pv=scores.begin();