gnz*_*lbg 10 c++ foreach c++11
在C++标准(std::for_each)的§25.2.4.2中:
template<class InputIterator, class Function> Function
for_each(InputIterator first, InputIterator last, Function f);
Run Code Online (Sandbox Code Playgroud)
效果:将f应用于取消引用[first,last]范围内的每个迭代器的结果, 从第一个开始到最后一个 - 1.
f应用于容器的元素?我最初说不,但我认为这确实意味着,是的.其他算法不包括该特定措辞.
也许,并行模式是一个扩展,并且有点实验性,并不是真正声称是标准库的100%一致性实现.(如果它确实声称文档中的某个地方我将修复文档!;-)
基于范围for不依赖于标准库来工作.如果std::begin并且std::end可见,则可以使用它们,但不是必需的.此外,它将涉及将循环体打包为lambda,因此你有一个函数对象要传递给它std::for_each,这会使基于范围的规范变得复杂for,它应该具有相同的语义,并且与手一样高效.书面for循环.但真正的原因可能是没有人想过这样做!
| 归档时间: |
|
| 查看次数: |
881 次 |
| 最近记录: |