stdfor each

template<class InputIterator, class Function>
    Function for_each(InputIterator first, InputIterator last, Function f);

功效:

f 应用于从 first 开始取消引用 [first, last) 范围内的每个迭代器并继续到 last - 1 的结果。

参数:

first, last - 应用 f 的范围。

f - 可调用对象,应用于取消引用 [first, last) 范围内每个迭代器的结果。

返回值:

f(直到 C++ 11)和 std::move(f)(从 C++ 11 开始)。

复杂:

应用 f 恰好 last - first 次。

例:

Version >= C++ 11

std::vector<int> v { 1, 2, 4, 8, 16 };
std::for_each(v.begin(), v.end(), [](int elem) { std::cout << elem << " "; });

将矢量 v 的每个元素应用给定的函数将此元素打印到 stdout