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

embedded/2025/1/11 15:53:04/

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/embedded/153053.html

相关文章

C#语言的数据结构

C#语言的数据结构探讨 数据结构是计算机科学中一种用于组织、存储和管理数据的方式。有效地使用数据结构能使算法更加高效&#xff0c;并提高程序的性能。在C#语言中&#xff0c;我们可以构建和使用多种数据结构&#xff0c;以满足不同的需求。本文将介绍C#中的常用数据结构&a…

网络安全测评技术与标准

网络安全测评概况 网络安全测评是网络信息系统和IT技术产品的安全质量保障。本节主要阐述网络安全测评的概念&#xff0c;给出网络安全测评的发展状况。 18.1.1 网络安全测评概念 网络安全测评是指参照一定的标准规范要求&#xff0c;通过一系列的技术和管理方法&#xff0c;获…

web前端学习总结(一)

web前端使用三项技术:html、css、javascript. 一、html:超文本标记语言&#xff0c;用于展示网页的框架。 <html> <head><title> </title></head><body><div> </div> <!--用于布局&#xff0c;占1行 --><span&g…

C++学习指南(七)——stack/queue/priority_queue

欢迎来到繁星的CSDN&#xff0c;本期内容主要包括stack&#xff08;栈&#xff09;&#xff0c;queue&#xff08;队列&#xff09;&#xff0c;priority_queue&#xff08;堆&#xff09; 实际上&#xff0c;C中的stack、queue还有priority_queue与C语言中的内容无异&#xff…

Docker系列---【离线安装docker-compose】

1.安装docker-compose 查看系统版本,如下可知&#xff0c;系统是X86_64的 uname -r 2.下载文件 打开github.com官网&#xff0c;在登录页面的右上角搜索compose找到docker/compose再找releases&#xff0c;(网址&#xff1a;https://github.com/docker/compose/releases) 如下找…

【Docker】docker compose 安装 Redis Stack

注&#xff1a;整理不易&#xff0c;请不要吝啬你的赞和收藏。 前文 Redis Stack 什么是&#xff1f; 简单来说&#xff0c;Redis Stack 是增强版的 Redis &#xff0c;它在传统的 Redis 数据库基础上增加了一些高级功能和模块&#xff0c;以支持更多的使用场景和需求。Redis…

如何进行单体前后端项目的微服务改造

如何进行单体前后端项目的微服务改造 引言 随着互联网技术的快速发展&#xff0c;传统的单体架构&#xff08;Monolithic Architecture&#xff09;逐渐显现出其局限性。对于大型应用来说&#xff0c;单体架构可能会导致开发效率低下、部署困难以及扩展性差等问题。因此&…

聊天机器人Rasa面试内容整理-如何进行实体抽取(Entity Extraction)?

在 Rasa 中,实体抽取(Entity Extraction) 是指从用户输入中识别出关键的信息(例如地点、时间、数字、产品名等)。Rasa 提供了多种方法来执行实体抽取,包括基于规则的方法、机器学习模型以及深度学习模型。不同的实体提取方法可以根据任务的需求进行选择和组合。 实体抽取…