简单来说,一种创建匿名函数的方法
当你有一个函数指针时,你就可以在C++中使用lambda
让我们看一点实际的例子吧。
#include <iostream> #include <vector> #include <functional> void ForEach(const std::vector<int>& values,const std::function<void(int)>& func ) { for (int value : values) func(value); } int main() { std::vector<int> values = { 1,5,4,2,3 }; int a = 5; //关于[]的用法参考手册, auto lambda = [=](int value) {std::cout << "Value:" << a << std::endl; }; ForEach(values, lambda); std::cin.get(); }
注意和之前上一节写法的不同
这里给出一个好用的参考手册地址