// lambda_callable.cpp
#include <iostream>
using namespace std;
template <typename T, typename Func>
void ForEach(T* begin, T* end, const Func& func)
{
while (begin != end) {
func(*begin++);
}
}
int main(int argc, char **argv)
{
int array[] = {10, 11, 23, 25, 30};
ForEach(array, array + 5, [] (auto&x) {cout << x << " ";});
return 0;
}
编译执行
g++ -o lambda_callable lambda_callable.cpp -std=c++14
10 11 23 25 30