c++中lambda表达式怎么应用

avatar
作者
筋斗云
阅读量:4

在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. 捕获外部变量:

#include  int 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表达式来简洁地定义匿名函数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!