C++11的捕获列表举例分析
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容主要讲解"C++11的捕获列表举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++11的捕获列表举例分析"吧!值捕获先看如下代码:int
千家信息网最后更新 2025年01月31日C++11的捕获列表举例分析
本篇内容主要讲解"C++11的捕获列表举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++11的捕获列表举例分析"吧!
值捕获
先看如下代码:
int factor = 2;
auto multiply = [factor](int value)
{return factor * value;};
factor = 4;
cout << multiply(2) << endl;
代码中首先为factor赋值2,创建lambda表达式以后,再次赋值4。由于lambda表达式的捕获是在该表达式创建是进行的,而第二次赋值在lambda表达式创建之后,所以muliply(2)的执行结果为4。
引用捕获
还是这段代码,只要在捕获列表中变量的前面多了一个&,就变成了引用捕获。
int factor = 2;
auto multiply = [&factor](int value)
{return factor * value;};
factor = 4;
cout << multiply(2) << endl;
捕获的时机并没有变化,只是捕获的是factor的引用而不是factor的值,所以定义lambda之后,对factor再次赋值4依然会影响multiply(2)的结果。此时的输出为8。
隐式捕获
前面例子中使用捕获列表时,具体指定了变量名,属于显式捕获。另外还有隐式捕获,由lambda表达式推断需要捕获的变量。具体方法是:
当需要隐式值捕获时,使用[=];
当需要隐式引用捕获时,使用[&];
在上面例子中使用隐式捕获以后,结果不会发生变化。
到此,相信大家对"C++11的捕获列表举例分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
表达式
分析
代码
变量
结果
例子
内容
再次
方法
变化
学习
实用
更深
兴趣
只是
实用性
实际
操作简单
时机
是在
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
世界服务器登录不了怎么办
数据库和区块链
软件开发系统计划
山西超算套料软件开发商
濮阳医药软件开发商
西门子上位机软件开发
软件开发准备工作内容
linux服务器安全设置
adg数据库同步延迟设置
redis数据库绑定网卡
防控新型网络安全风险
联想服务器电脑售后
软件开发公司人力资源文案
共享情趣用品软件开发
启动根服务器
数据库除了DISTINCT
两会金融科技互联网金融
ffan网络安全
隐藏手机号码软件开发
网络安全主体责任明确
数据库技术及应用第二章答案
米波现场200人服务器要求
数据库中间有三条线
基于vb的数据库系统连接
毕马威网络安全保险预测
软件开发学费多少钱
学习计算机网络安全书
数据库设计有关的书
苹果 推送服务器
苹果手机wifi提示网络安全