for_each
- 函数原型
#include<algorithm>
template<typename InputIterator, typename Function>
Function for_each(InputIterator beg, InputIterator end, Function f) {
while(beg != end)
f(*beg++);
}
int array[10];
std::for_each(array, array+9, [](int element) { ... });
for(auto & x:y) for (const auto & x:y)
第一次看到这个的时候直接惊了,还可以这么写??? 后来知道这个叫做Range-based for loop
首先 y 是一个可迭代对象,x 就是每次迭代的值。
int array[10];
for (auto& elem:array)
{
...
}
参考:
https://stackoverflow.com/questions/15927033/what-is-the-correct-way-of-using-c11s-range-based-for