温馨提示×

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

c++
小亿
74
2023-11-07 10:46:19
栏目: 编程语言

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

0