简述一下C++11 中 Lambda 新特性

Lambda表达式是C++11引入的一个重要特性,它允许开发者定义和创建匿名函数对象,简化编程。Lambda的语法结构包括捕获列表、参数列表和返回值类型。捕获列表用于捕获外部变量,可以按值或按引用传递。例如,`[a]`表示按值捕获`a`,`[&a]`表示按引用捕获。Lambda表达式使得函数式编程风格在C++中更加便捷。
摘要由CSDN通过智能技术生成
  • C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,用来简化编程工作。

  • Lambda 的语法形式:

    1

    [捕获列表] (参数列表) -> 返回值类型 { 函数体 };

    • [捕获列表]:这部分是捕获区,用于捕获外部变量,标识一个 Lambda 表达式的开始,不能省略

      • 捕获列表为空:不捕获外部变量
      • =:表示值传入
      • &:表示引用传入

      1

      2

      3

      4

      5

      [a]:将 a 按值进行传递

      [&a]:将 a 按引用进行传递。

      [a,&b]:将 a 按值传递,b 按引用进行传递。

      [=,&a,&b]:除 a 和 b 按引用进行传递外,其它参数都按值进行传递。

      [&,a,b]:除 a 和 b 按值进行传递外,其它参数都按引用进行传递。

    • (参数列表):同函数参数列表

    • -> 返回值类型:这部分如果返回值为 void,可以省略

    • { 函数体 }:同函数的函数体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值