C++ lambda 匿名函数

看了明仕强老师的课程,C++匿名函数也可以很简单


下面请看示例代码:

cpp 复制代码
/*
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;
}
相关推荐
会周易的程序员20 分钟前
cNetgate物联网网关内存数据表和数据视图模块架构
c语言·c++·物联网·架构·lua·iot
宇木灵1 小时前
C语言基础-十、文件操作
c语言·开发语言·学习
云泽8082 小时前
C++ 多态入门:虚函数、重写、虚析构及 override/final 实战指南(附腾讯面试题)
开发语言·c++
仰泳的熊猫2 小时前
题目1535:蓝桥杯算法提高VIP-最小乘积(提高型)
数据结构·c++·算法·蓝桥杯
yanghuashuiyue2 小时前
lambda+sealed+record
java·开发语言
闻缺陷则喜何志丹2 小时前
【前后缀分解】P9255 [PA 2022] Podwyżki|普及+
数据结构·c++·算法·前后缀分解
yzx9910133 小时前
Python数据结构入门指南:从基础到实践
开发语言·数据结构·python
消失的旧时光-19433 小时前
智能指针(二):机制篇 —— 移动语义与所有权转移
c++·智能指针
衍生星球3 小时前
【JSP程序设计】Servlet对象 — page对象
java·开发语言·servlet·jsp·jsp程序设计
扶苏瑾3 小时前
线程安全问题的产生原因与解决方案
java·开发语言·jvm