[59节] Lambdas在C++中(Lambdas in C++)

简单来说,一种创建匿名函数的方法 

当你有一个函数指针时,你就可以在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();
}

注意和之前上一节写法的不同

这里给出一个好用的参考手册地址

https://zh.cppreference.com/w/cpp/language/lambda

原文地址:https://www.cnblogs.com/EvansPudding/p/12539543.html