Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ lambda函数

作者:浪子无家   发布日期:2026-05-17   浏览:38

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    // 定义一个简单的lambda函数,用于打印信息
    auto print_message = []() {
        std::cout << "Hello, Lambda!" << std::endl;
    };

    // 调用lambda函数
    print_message();

    // 定义一个带有参数的lambda函数,用于计算两个数的和
    auto add = [](int a, int b) -> int {
        return a + b;
    };

    // 调用带参数的lambda函数
    std::cout << "Sum: " << add(5, 3) << std::endl;

    // 使用lambda函数作为std::for_each的参数,遍历并打印vector中的元素
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    std::for_each(numbers.begin(), numbers.end(), [](int n) {
        std::cout << n << " ";
    });
    std::cout << std::endl;

    // 使用lambda捕获外部变量
    int factor = 2;
    auto multiply = [factor](int x) {
        return x * factor;
    };

    // 调用带有捕获列表的lambda函数
    std::cout << "Multiply by " << factor << ": " << multiply(5) << std::endl;

    return 0;
}

解释说明:

  1. 简单lambda函数auto print_message = []() { ... }; 定义了一个没有参数和返回值的lambda函数,并调用它来打印一条消息。
  2. 带参数的lambda函数auto add = [](int a, int b) -> int { ... }; 定义了一个带有两个整数参数并返回它们和的lambda函数。
  3. 作为算法参数的lambda函数:使用std::for_each遍历并打印std::vector<int>中的元素。
  4. 捕获外部变量auto multiply = [factor](int x) { ... }; 演示了如何在lambda函数中捕获外部变量factor,并在函数体内使用它。

通过这些例子,展示了C++中lambda函数的基本用法及其灵活性。

上一篇:c++pair

下一篇:c++ lower_bound

大家都在看

c++闭包

c++向上取整的代码

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++怎么输入字符串

c++ functional

c++框架代码

c++格式化字符串

c++ orm框架

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站