首页 > 编程语言 >C++11:Lambda表达式

C++11:Lambda表达式

时间:2023-06-19 17:33:53浏览次数:40  
标签:11 temp int auto C++ 捕捉 var Lambda

Lambda表达式为了一些简单的函数直接调用封装
[var]:表示值传递方式捕捉变量var
[=]:表示值传递捕捉所有父作用域中的变量(包括成员函数中的this)
[&var]:表示引用传递捕捉变量var
[&]:表示引用传递捕捉所有父作用域中的变量(包括成员函数中的this)
[this]:表示值传递方式捕捉当前的this指针

 

//实现add的lambda
auto add = [](int a, int b)->int {return a + b; };
std::cout << add(1, 2) << std::endl;

//实现swap的lambda
auto swap1 = [](int& a, int& b)
{
int temp = a;
a = b;
b = temp;
};

int a = 10, b = 20;
auto swap2 = [&a, &b]
{
int temp = a;
a = b;
b = temp;
};

 

标签:11,temp,int,auto,C++,捕捉,var,Lambda
From: https://www.cnblogs.com/k5bg/p/17491703.html

相关文章

  • The remote SSH server rejected X11 forwarding request.“远程SSH服务器拒绝X11转发
       启动kkFileView后弹出提醒无法正常访问服务器, 重启服务器时,需要安装出现如下提醒方法一、 X11forwarding依赖xorg-x11-xauth软件包,需要先安装xorg-x11-xauth软件包。1.使用Xshell执行下面代码[root@VM-4-11-centos~]#yuminstallxorg-x11-xauth  ......
  • 数据结构课程设计2023夏7-11 二路归并排序
    给定一个整数序列,请按非递减序输出采用二路归并排序(递归法)的各趟排序后的结果(每完成一次归并操作就输出归并后的结果)。输入格式:测试数据有多组,处理到文件尾。每组测试数据第一行输入一个整数n(1≤n≤100),第二行输入n个整数。输出格式:对于每组测试,输出若干行,每行是一趟排序后的......
  • UE5 C++ 定时器使用
    概念定时器在全局定时器管理器(FTimerManager类型)中管理。全局定时器管理器存在于游戏实例对象上以及每个场景中。有两个函数可以使用定时器管理器来设置定时器:SetTimer和SetTimerForNextTick,它们各自都有一些重载,每个函数都可以连接到任意类型的对象或函数委托使用访......
  • C++ 重载运算符
    为了叙述的方便,以下内容以赋值运算符为例赋值运算符本质是一个名为operator=的函数,某些运算符必须定义为成员函数赋值运算符定义示例代码classFoo{public:Foo&operator=(constFoo&);};......
  • Linux 7安装Oracle 11g打怪经历
    最近接到个需求,要将一套开发环境中Linux6平台的Oracle11g,迁移到两套Linux7平台,原以为很简单,但过程中,确实历经坎坷,就像过山车一般,解决这个问题,又碰到下一个。软件信息RedHatLinux7.5Oracle11.2.0.4坑坑坑1.软链接为了安装路径的标准和简便,可以使用软链接,语法如下,ln-s【目标......
  • C++多态的原理(虚函数指针和虚函数表) --imxiangzi 好好看
     C++多态的原理(虚函数指针和虚函数表)1.虚函数指针和虚函数表2.继承中的虚函数表2.1单继承中的虚函数表2.2多继承中的虚函数表3.多态的原理4.总结1.虚函数指针和虚函数表以下代码:问类实例化出的对象占几个字节?#include<iostream>usingnamespacestd;classA{ intm_a;publi......
  • c++11新特性之线程相关所有知识点
    c++11关于并发引入了好多好东西,这里按照如下顺序介绍:std::thread相关std::mutex相关std::lock相关std::atomic相关std::call_once相关volatile相关std::condition_variable相关std::future相关async相关std::thread相关c++11之前你可能使用pthread......
  • C++ 高级开发者需要掌握的10个特性
    C++正在快速向前发展,所以想要紧跟其脚步并不是一件容易的事。我们在之前的文章中讨论过这个问题,讨论了C++的演变以及如何实现遗留C++代码现代化。在这篇文章中,我们将重点介绍经验丰富的C++开发人员可以跟上的高级主题列表。我们将尝试涵盖我们认为相关的内容,而不限于特定......
  • MySQL数据字典提示1146不存在的问题解决
    最近某套MySQL因为磁盘挂载问题,异常宕机,拉起后,数据库能正常访问了,但是在error.log一直提示这个错误,[ERROR]InnoDB:Table`mysql`.`innodb_table_stats`notfound.2021-09-03T08:26:52.446564Z2[ERROR]InnoDB:Fetchofpersistentstatisticsrequestedfortable`jira`.`c......
  • VCL界面控件DevExpress VCL v23.1.3全新首发 - 支持Windows 11新主题
    DevExpressVCL Controls是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。DevExpressVCLv23.1官方正式版下载......