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

Lambda expressions in C++ (C++ 中的 lambda 表达式)

Lambda expressions in C++ {C++ 中的 lambda 表达式}

  • 1. Parts of a lambda expression (lambda 表达式的各个部分)
    • 1.2. Parameter list (Optional)
  • References

lambda /ˈlæm.də/:the 11th letter of the Greek alphabet (希腊语字母表的第 11 个字母)

https://learn.microsoft.com/en-us/cpp/cpp/lambda-expressions-in-cpp

1. Parts of a lambda expression (lambda 表达式的各个部分)

This illustration shows the parts of lambda syntax:

在这里插入图片描述

  1. capture clause (Also known as the lambda-introducer in the C++ specification)

  2. parameter list Optional (可选) (Also known as the lambda declarator)

  3. mutable specification Optional (可选)

  4. exception-specification Optional (可选)

  5. trailing-return-type Optional (可选)

  6. lambda body

1.2. Parameter list (Optional)

Lambdas can both capture variables and accept input parameters.
lambda 既可以捕获变量,也可以接受输入参数。

A parameter list (lambda declarator in the Standard syntax) is optional and in most aspects resembles the parameter list for a function.
参数列表 (在标准语法中称为 lambda 声明符) 是可选的,它在大多数方面类似于函数的参数列表。

#include <stdio.h>int main(void) {auto add_func = [](const int first, const int second) {return first + second;};const int result = add_func(2, 3);printf("result = %d\n", result);return 0;
}
result = 5
请按任意键继续. . .

lambda could own default arguments.

#include <stdio.h>int main(void) {auto add_func = [](const int first, const int second = 12) {return first + second;};const int result = add_func(3);printf("result = %d\n", result);return 0;
}
result = 15
请按任意键继续. . .

References

[1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/


http://www.mrgr.cn/news/83367.html

相关文章:

  • 【Word_笔记】Word的修订模式内容改为颜色标记
  • linux 查看运行的端口 以及哪些应用使用的
  • 计算机网络之---数据链路层的功能与作用
  • 【大数据】Apache Superset:可视化开源架构
  • 单片机实物成品-011 火灾监测
  • 【设计模式】工厂方法
  • L1G5000 XTuner 微调个人小助手认知
  • Microsoft 已经弃用了 <experimental/filesystem> 头文件
  • 力扣算法题(基于C语言)
  • 2025年第三届“华数杯”国际赛B题解题思路与代码(Python版)
  • Qt学习笔记第81到90讲
  • 油猴支持阿里云自动登陆插件
  • SpringBoot3
  • java开发springoot
  • 金融项目实战 02|接口测试分析、设计以及实现
  • 鼠标自动移动防止锁屏的办公神器 —— 定时执行专家
  • 【traefik】forwadAuth中间件跨namespace请求的问题
  • 【FPGA】时序约束与分析
  • 【git】-初始git
  • 【git】-2 分支管理
  • mysql-运维sql
  • 2025年第三届“华数杯”国际赛B题解题思路与代码(Matlab版)
  • 熵与交叉熵:从不确定性角度理解 KL 散度
  • win32汇编环境,窗口程序中对按钮控件常用操作的示例
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)
  • linux RT-Preempt spin lock实现