在C++11标准的语法中,auto被定义为自动推断变量的类型。
auto x=5.2;//这里的x被auto推断为double类型 map<int,int>m; for(auto it=m.begin();//这里it被auto推断为map<int,int>::iterator类型 it!=m.end();++it) { //.... }
不过C++11的auto关键字时有一个限定条件,那就是必须给申明的变量赋予一个初始值,否则编译器在编译阶段将会报错。(摘自百度百科)
这么一想,以后写迭代器岂不是不再需要那么麻烦了。