作者:故事里的说书人 | 来源:互联网 | 2024-09-30 15:05
C++11 (以前称为
C++0x)的好处是,这场令人厌烦的争论将得到解决。
我的意思是,没有一个心智正常的人想要迭代整个集合,仍然会使用它
for(auto it = collection.begin(); it != collection.end() ; ++it)
{
foo(*it);
}
或这个
for_each(collection.begin(), collection.end(), [](Element& e)
{
foo(e);
});
当 _基于范围的for
循环_语法可用时:
for(Element& e : collection)
{
foo(e);
}
这种语法在 Java 和 C# 中已经有一段时间了,实际上在我看到的每一个最近的 Java 或 C#
代码中,foreach
循环都比经典循环多得多。for