原来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;
}