lambda 表达式,即 c++11 中的匿名函数对象,允许我们在函数式编程中简洁且灵活地定义函数:语法:[capture_list] (parameter_list) -> return_type { body }实战案例:可用于对数组排序:sort(numbers.begin(), numbers.end(), [](int a, int b) { return a

C++ Lambda 表达式在函数式编程中的应用
Lambda 表达式是 C++11 中引入的一项强大功能,它允许我们创建匿名函数对象,即函数指针。它们简洁易用,非常适合函数式编程。
语法
立即学习“C++免费学习笔记(深入)”;
Lambda 表达式的语法如下:
[capture_list] (parameter_list) -> return_type { body }-
capture_list:可选,捕获对外部变量的引用。 -
parameter_list:可选,lambda 表达式的参数列表。 -
return_type:可选,指定 lambda 表达式的返回类型。默认情况下为void。 -
body:lambda 表达式的函数体。
实战案例:使用 Lambda 表达式排序
以下是一个使用 lambda 表达式对数组进行排序的实战案例:
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> numbers = {3, 1, 5, 2, 4};
// 使用 lambda 表达式排序数组
std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; });
// 打印排序后的数组
for (int n : numbers) {
std::cout << n << " ";
}
return 0;
}在这段代码中,我们使用了一个 lambda 表达式作为 sort 函数的比较函数。lambda 表达式 [](int a, int b) { return a < b; } 将两个整数作为参数,并返回 true 如果 a 小于 b,否则返回 false。这使我们能够对数组进行从小到大排序。


















