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

C++ lambda 匿名函数

看了明仕强老师的课程,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;
}


http://www.kler.cn/a/384205.html

相关文章:

  • gov企业征信系统瑞数6vmp算法还原
  • ajax关于axios库的运用小案例
  • STM32Cube高效开发教程<高级篇><FreeRTOS>(十二)-----互斥量使用例程
  • Pandas 数据分析工具详细教程
  • 【原创】java+ssm+mysql收纳培训网系统设计与实现
  • 基于STM32的实时时钟(RTC)教学
  • Foundry 单元测试
  • 15分钟学 Go 第 37 天:综合复习与小项目
  • Flutter鸿蒙next 的 Sliver 实现自定义滚动效果
  • .Net WeekOfYear 获取日期所属于一年中的第几周
  • Docker是什么
  • tinymce扩展功能:1、行高、段落间距、格式刷;2、视频上传进度条;3、对复制的图片设置尺寸
  • 【Axure高保真原型】2级下钻条形图
  • 沈阳乐晟睿浩科技有限公司抖音小店强者之路
  • 跨境云专线:构建高速、安全的全球业务网络
  • k8s之Kruise Rollouts灰度发布
  • 面相小白的php反序列化漏洞原理剖析
  • C++循环引用
  • 重载(overload)和重写(override)的区别
  • 智慧地下采矿可视化平台
  • ubuntu22.04 docker-compose安装postgresql数据库
  • Jenkins声明式Pipeline流水线语法示例
  • 特定数据库的备份脚本
  • 练习LabVIEW第四十一题
  • Unity Addressables 系统处理 WebGL 打包本地资源的一种高效方式
  • Scala学习记录,List