找回密码
 立即注册
首页 业界区 业界 C++ lambda 匿名函数

C++ lambda 匿名函数

褥师此 2025-9-17 21:57:42
1、基本介绍

C++11 引入的 lambda 匿名函数(Lambda Expression)是一种轻量级的函数对象,可在需要函数的地方直接定义,无需单独声明,极大简化了代码编写(尤其是回调函数、算法谓词等场景)。
基本语法:
  1. [capture-list] (parameter-list) mutable noexcept(optional) -> return-type { function-body }
复制代码
组成部分说明capture-list捕获列表:指定如何捕获 lambda 所在作用域的局部变量(值捕获、引用捕获等),不可省略。parameter-list参数列表:与普通函数的参数列表一致(可省略,若无形参)。mutable可选关键字:允许在 lambda 内部修改值捕获的变量(默认值捕获变量为 const)。noexcept可选:指定 lambda 是否可能抛出异常(C++11 起)。-> return-type返回类型可选,若函数体仅有一条 return 语句,编译器可自动推导返回类型。function-body函数体:lambda 的执行逻辑。简单的例子
[code]#include #include #include int main() {    std::vector v = {3, 1, 4, 1, 5, 9, 2, 6};    // 使用 Lambda 表达式作为 std::sort 的比较准则    // 按降序排序    std::sort(v.begin(), v.end(),               [](int a, int b) { return a > b; } // Lambda 表达式             );    for (int i : v) {        std::cout

相关推荐

您需要登录后才可以回帖 登录 | 立即注册