引言
Lambda 表达式是 C++11 引入的一个强大的功能,允许你在代码中定义匿名函数。它可以捕获上下文中的变量,并且可以像普通函数一样被调用。这篇文章将全面介绍 Lambda 表达式的定义、功能、常见用法,并通过案例展示如何在 C++ 中灵活运用 Lambda 表达式。
目录
- 什么是 Lambda 表达式?
- Lambda 表达式的语法
- 捕获列表的用法
- Lambda 表达式的常见用法
- 在
std::sort
中使用 Lambda 作为比较器 - 用于 STL 算法
- 作为回调函数
- 在
- 可变 Lambda 与递归
- Lambda 表达式的返回类型
- Lambda 表达式与函数对象的对比
- 其他高级用法
- 总结
1. 什么是 Lambda 表达式?
Lambda 表达式是一种可以在局部范围内定义匿名函数的语法结构。它使得代码更加简洁,可以直接在需要的地方定义逻辑而无需定义全局或成员函数。
2. Lambda 表达式的语法
Lambda 表达式的基本语法如下:
[捕获列表](参数列表) -> 返回类型 { 函数体 };
- 捕获列表:定义了哪些外部变量可以在 Lambda 中使用,
[]
可以为空、引用捕获或值捕获。 - 参数列表:定义 Lambda 接受的参数,类似于普通函数的参数。
- 返回类型:可