美文网首页
C++ lambda表达式的作用和代码示例

C++ lambda表达式的作用和代码示例

作者: 风轻云淡宇 | 来源:发表于2024-06-02 13:49 被阅读0次
    • 简化代码:Lambda允许快速定义小函数,使代码更加简洁。
    auto add = [](int a, int b) { return a + b; };
    auto result = add(5, 3); // result is 8
    
    • 局部作用域:可以在任何地方定义Lambda,捕获局部变量,方便临时使用。
    int localValue = 10;
    auto lambda = [localValue] { /* 使用localValue */ };
    
    • 算法参数:常用于标准库算法,如排序和搜索,简化自定义行为的实现。
    std::vector<int> vec = {5, 3, 1, 4, 2};
    std::sort(vec.begin(), vec.end(), [](int a, int b) { return a < b; });
    
    • 事件处理:在GUI编程中,Lambda用于定义事件处理器,使代码更清晰。
    // 假设有一个按钮对象button
    button->onClick = [this]() { this->doSomething(); };
    
    • 回调函数:适用于异步编程,简化回调机制。
    void asyncOperation(int value, std::function<void(bool)> callback);
    ......
    void asyncOperation(42, [](bool success) {
        if (success) {
            std::cout << "Operation succeeded!" << std::endl;
        } else {
            std::cout << "Operation failed!" << std::endl;
        }
    });
    

    相关文章

      网友评论

          本文标题:C++ lambda表达式的作用和代码示例

          本文链接:https://www.haomeiwen.com/subject/rbxsqjtx.html