行业知识
C++ lambda表达式
2026-11-08 02:16:43
来源:互联网转载
目录
一、Lambda表达式概述
1.介绍
2.作用
1)lambda表达式做回调
2.做并行计算
二、Lambda表达式语义分析
1.基本语法分析
2.捕获列表
3.匿名函数简写
三、使用注意
一、Lambda表达式概述
1.介绍
Lambda表达式是C++11标准引入的一种特性,它提供了一种方便的方式来定义匿名函数。Lambda表达式是一种能够捕捉外部变量并使用它们的函数对象。由捕获列表、参数列表、返回类型和函数体组成;其中,参数列表和返回类型可以忽略,但不可以忽略捕获列表和函数体。
[捕获列表](参数列表) -> 返回类型 {函数体}
例如:auto f = []{ return 1 + 2; }; 或者 auto f = [](int x, int y)->int{ return x + y; };
(在后面章节会详细介绍使用规则.)
2.作用
在c++11中提出lambda特性,通过引入lambda表达式,C++11使得编写匿名函数变得更加简洁和方便,提高了代码的可读性和灵活性。其主要作用包括:简化代码、作为算法的参数、回调、并行计算等。以下举几个简单示例:
1)lambda表达式做回调
#include #include #include #include using namespace std;class EventHandle{public: void registerCallback(function callback) { callbacks.push_back(callback); } void triggerEvent() { for(auto &testCallback: callbacks) { testCallback(); } }private: vector callbacks; };int main(){ EventHandle eventHandle; eventHandle.registerCallback([]{cout
上一篇:王者服务器爆满怎么登进去?
下一篇:ai怎么对齐像素?