建材城电商网站建设百度移动端排名
看了明仕强老师的课程,C++匿名函数也可以很简单
下面请看示例代码:
/*
lambda表达式学习,测试主函数
*/#include <iostream>using namespace std;int main()
{printf("Lambda test Demo:\n");//值捕获,值捕获的时候不能修改变量值的int value = 100;auto f = [value](int a ,int b)->int{return a+b+value;};cout << f(1,2)<<endl;//引用捕获,可以改变变量值auto f2 = [&value](int a,int b)->int{value ++;return a+b;};cout<<f2(1,3)<<endl;cout<<"value:"<<value<<endl;//隐式捕获// = 值捕获// & 引用捕获int age = 123;auto f3 = [&](int a ,int b)->int{value++;//如果把&更换为= 则这里修改变量编译的时候会出错age++;//如果把&更换为= 则这里修改变量编译的时候会出错return a+b;};return 0;
}