原文地址:http://www.cplusplus.com/reference/algorithm/for_each/
function template
<algorithm>
std::for_each
template <class InputIterator, class Function>
Function for_each (InputIterator first, InputIterator last, Function fn);
Apply function to range
Applies function fn to each of the elements in the range [first,last)
.对范围内每个元素都调用函数fn. 例子:
#include <iostream>
#include <algorithm>
#include <vector>
#include <array>
using namespace std;
void foreach(){
vector<int> vi{1,5,7,8,9,9,8,5,9};
cout<<"vi=";
auto it=for_each(vi.begin(),vi.end(),[](int i){cout<<i<<" ";});
cout<<endl;
}
运行结果:
The behavior of this template function is equivalent to:
| |
Parameters
-
first, last
-
Input iterators to the initial and final positions in a sequence. The range used is
[first,last)
, which contains all the elements between first and last, including the element pointed by first but not the element pointed by last.
元素的范围。
fn
-
Unary function that accepts an element in the range as argument.
This can either be a function pointer or a move constructible function object.
Its return value, if any, is ignored.
一个接受一个参数的一元函数。
该函数的返回值会被忽略。
Return value
返回的是一个仿函数fn,这个我也不知道怎么用...
Example
| |
Output:
myvector contains: 10 20 30
myvector contains: 10 20 30
|
Complexity
Linear in the distance between first and last: Applies fn to each element.Data races
The objects in the range[first,last)
are accessed (each object is accessed exactly once).These objects may be modified if InputIterator is a mutable iterator type and fn is not a constant function.
Exceptions
Throws if fn throws or if any of the operations on iterators throws.Note that invalid arguments cause undefined behavior.
——————————————————————————————————————————————————————————————————
//写的错误或者不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。
转载请注明出处:http://blog.csdn.net/qq844352155
author:天下无双
Email:coderguang@gmail.com
2014-9-13
于GDUT
——————————————————————————————————————————————————————————————————