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

ops/2025/1/11 13:07:19/

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.ppmy.cn/ops/149165.html

相关文章

Go语言中的sync.WaitGroup详解

Go 语言作为一种现代并发编程语言,提供了强大的并发模型和工具。其中,sync.WaitGroup 是 Go 标准库中的一个重要同步工具,广泛用于协程(goroutine)的同步控制。本文将深入探讨 sync.WaitGroup 的工作原理、应用场景以及如何避免使用共享变量和信号量来实现同步。 一、syn…

身份鉴权(PHP)(小迪网络安全笔记~

免责声明&#xff1a;本文章仅用于交流学习&#xff0c;因文章内容而产生的任何违法&未授权行为&#xff0c;与文章作者无关&#xff01;&#xff01;&#xff01; 附&#xff1a;完整笔记目录~ ps&#xff1a;本人小白&#xff0c;笔记均在个人理解基础上整理&#xff0c;…

机器学习赋能的智能光子学器件系统研究与应用

在人工智能与光子学设计融合的背景下&#xff0c;科研的边界持续扩展&#xff0c;创新成果不断涌现。从理论模型的整合到光学现象的复杂模拟&#xff0c;从数据驱动的探索到光场的智能分析&#xff0c;机器学习正以前所未有的动力推动光子学领域的革新。据调查&#xff0c;目前…

Ubuntu 磁盘修复

Ubuntu 磁盘修复 在 ubuntu 文件系统变成只读模式&#xff0c;该处理呢&#xff1f; 文件系统内部的错误&#xff0c;如索引错误、元数据损坏等&#xff0c;也可能导致系统进入只读状态。磁盘坏道或硬件故障也可能引发文件系统只读的问题。/etc/fstab配置错误&#xff0c;可能…

Java基础 注解

分类 Java自带的标准注解&#xff0c;包括Override、Deprecated和SuppressWarnings&#xff0c;分别用于标明重写某个方法、标明某个类或方法过时、标明要忽略的警告&#xff0c;用这些注解标明后编译器就会进行检查。元注解&#xff0c;元注解是用于定义注解的注解&#xff0…

关于Mac中的shell

1 MacOS中的shell 介绍&#xff1a; 在 macOS 系统中&#xff0c;Shell 是命令行与系统交互的工具&#xff0c;用于执行命令、运行脚本和管理系统。macOS 提供了多种 Shell&#xff0c;主要包括 bash 和 zsh。在 macOS Catalina&#xff08;10.15&#xff09;之前&#xff0c…

zookeeper监听机制(Watcher机制)

文章目录 引言I zookeeper监听机制Watcher机制实现分布式的通知功能触发事件种类Watcher的三个过程II watch机制特点一次性触发事件封装event异步发送先注册再触发常见的通知状态和事件类型III 应用案例(Kafka)Kafka的消息模型Kafka在Zookeeper中保存的元数据Kafka 基于Contr…

使用R包Corrplot绘制相关性图

前记 Corrplot是一个用于可视化相关性矩阵的R包。它提供了各种方法和选项来创建高质量的相关性图&#xff0c;并帮助用户更好地理解数据集中的变量之间的相关性。 相关性是指两个或多个变量之间的统计关系&#xff0c;它衡量了这些变量之间的线性关系的强度和方向。在数据分析和…