今天忽然看到c ++ 11的代码 发现网上没有说的很清楚的, 所以自己做个笔记
网上说明 auto的概念很多, 可以自己 g下, 下边主要是比较实用的例子.
std::vector<ClassABC*> vecABC;
for( auto obj : vecABC )
{
obj->doSomething();
}
上边代码就相当于当年我们用的下边的代码.
std::vector<ClassABC*> vecABC;
for( std::vector<ClassABC*> iterator obj = vecABC.begin(); obj != vecABC.end(): ++obj)
{
obj->doSomething();
}
是不是很爽,相比之下 代码少了很多, auto 让我们彻底摆脱了冗长迭代器, 不知道成本会不会算在编译时间里 ,
auto和 for的自动迭代的风格好像python.
更详细的标准, 请见http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
中文: http://blog.jobbole.com/55063/
PS: c++ 11 quick exit