在C++中,lambda表达式是一种用于创建匿名函数的特殊语法。它允许我们在需要函数对象的地方内联定义一个函数,而无需显式命名函数。
下面是一些常见的lambda表达式的应用示例:
1. 作为函数参数:
#include// lambda作为函数参数 void performOperation(int a, int b, std::function operation) { int result = operation(a, b); std::cout << "结果为:" << result << std::endl; } int main() { int x = 10; int y = 5; // 使用lambda作为函数参数 performOperation(x, y, [](int a, int b) { return a + b; }); return 0; }
2. 在算法中使用:
#include#include #include int main() { std::vector numbers = {5, 3, 8, 2, 1, 9}; // 使用lambda表达式进行排序 std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; }); // 打印排序后的结果 for (int num : numbers) { std::cout << num << " "; } return 0; }
3. 捕获外部变量:
#includeint main() { int x = 5; int y = 10; // 使用lambda表达式捕获外部变量 auto sum = [x, y]() { return x + y; }; std::cout << "和为:" << sum() << std::endl; return 0; }
这些示例展示了lambda表达式在C++中的几种常见应用方式。你可以根据具体的需求,在合适的地方使用lambda表达式来简洁地定义匿名函数。