用lambda作为函数的指针

来源:互联网 发布:mac os x 开机启动项 编辑:程序博客网 时间:2024/05/18 13:47

原来lambda还可以这么用。

//用lambda作为函数的指针://程序参考自:Boost程序库完全开发指南(第三版)Page545#include <iostream>int main1(){    auto lambda_fun =        [](int n)    {        if (n <= 0)        {            std::cout << "n<=0" << std::endl;            return;        }        std::cout << "positive number:" << n << std::endl;    };    for (int i = -2; i < 3; ++i)        lambda_fun(i);    return 0;}int main2(){    int positive_number = 0;    auto lambda_fun =        [&](int n)//使用[&]捕获外部变量    {        if (n <= 0)        {            std::cout << "0>=n " << n << std::endl;            return;        }        std::cout << "positive number count is " << ++positive_number << std::endl;    };    for (int i = -2; i < 3; ++i)        lambda_fun(i);    return 0;}


0 0
原创粉丝点击