当前位置: 首页 > news >正文

class_3:lambda表达式

1、lambda表达式是c++11引入的一种匿名函数的方式,它允许你在需要函数的地方内联的定义函数,而无需单独命名函数;

#include <iostream>using namespace std;bool compare(int a,int b)
{return a > b;
}int getMax(int a,int b,bool (*p)(int a,int b))
{if(p(a,b)){return a;}else{return b;}
}int main()
{int x = 10;int y = 20;int ret = getMax(x,y,[](int a,int b)->bool{return a > b ;});cout << ret << endl;ret = getMax(x,y,compare);cout << ret << endl;return 0;
}

2、参数捕获

 

#include <iostream>using namespace std;int main()
{int x = 10;int y = 30;int z = 5;int ret;//1、捕获参数不可修改,可自动捕获x,y的值,只读auto add = [x,y]()->int{return x+y;};ret = add();cout << ret<< endl;//2、捕获参数不可修改,= 可自动捕获x,y的值, 只读auto mul = [=]()->int{return x*y;};ret = mul();cout << ret<< endl;//3、捕获参数可修改,&是引用的方式相当于指针 可自动捕获x,y的值,且值可修改,可读可写auto muladd = [&]()->int{x = 20;return x*y*z;};ret = muladd();cout <<"ret="<< ret<<"  x="<< x<<endl;return 0;
}

 

 

http://www.lryc.cn/news/280826.html

相关文章:

  • Hadoop 实战 | 词频统计WordCount
  • SpringCloud.04.熔断器Hystrix( Spring Cloud Alibaba 熔断(Sentinel))
  • python 八大排序_python-打基础-八大排序
  • 运维知识点-Sqlite
  • 我为什么要写RocketMQ消息中间件实战派上下册这本书?
  • 24校招,Moka测试开发工程师一面
  • Docker(网络,网络通信,资源控制,数据管理,CPU优化,端口映射,容器互联)
  • 开发实践5_project
  • 蓝桥杯准备
  • AtCoder Beginner Contest 336 A-E 题解
  • node各个版本的下载地址
  • JVM实战(17)——模拟对象晋升
  • 帆软笔记-决策表报对象使用(两表格联动)
  • DataGear专业版 1.0.0 发布,数据可视化分析平台
  • AS,android SDK
  • LeetCode第155题 - 最小栈
  • Java微服务系列之 ShardingSphere - ShardingSphere-JDBC
  • Unity中URP下实现能量罩(外发光)
  • Golang 中哪些类型可以作为 map 类型的 key?
  • C# 导出EXCEL 和 导入
  • 学网络必懂的华为CSS堆叠技术
  • SV-7041T 30W网络有源音箱校园教室广播音箱,商场广播音箱,会议广播音箱,酒店广播音箱,工厂办公室广播音箱
  • Could NOT find Threads (missing: Threads_FOUND)
  • 1114: 逆序(数组)
  • uniapp如何调用ANDROID原生函数
  • python 字符串的详细处理方法
  • 蓝桥杯AcWing学习笔记 8-2数论的学习(下)
  • vcs makefile
  • 《Training language models to follow instructions》论文解读--训练语言模型遵循人类反馈的指令
  • Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client