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

lambda c++

作者:飞吻狂魔   发布日期:2026-04-03   浏览:18

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

int main() {
    // 定义一个简单的lambda表达式,捕获外部变量x
    int x = 10;
    auto lambdaExample = [x]() {
        std::cout << "The value of x is: " << x << std::endl;
    };

    lambdaExample();  // 输出: The value of x is: 10

    // 使用lambda表达式作为std::for_each的参数
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    std::for_each(numbers.begin(), numbers.end(), [](int n) {
        std::cout << n * n << " ";
    });
    std::cout << std::endl;  // 输出: 1 4 9 16 25

    // 使用带有捕获列表和参数的lambda表达式
    int a = 5, b = 10;
    auto add = [&a, &b]() -> int {
        return a + b;
    };

    std::cout << "Sum of a and b is: " << add() << std::endl;  // 输出: Sum of a and b is: 15

    return 0;
}

解释说明:

  1. 基本Lambda表达式[x]() 表示捕获外部变量 x 并定义一个无参函数体。
  2. 使用Lambda作为算法参数std::for_each 中的 lambda 表达式用于对每个元素进行平方操作并输出。
  3. 带有捕获列表和返回值的Lambda[&a, &b]() -> int 捕获 ab 的引用,并返回它们的和。

上一篇:c++ 学习

下一篇:c++ 线程锁

大家都在看

c++闭包

c++向上取整的代码

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

c++ 注释

c++如何判断素数

c++ functional

c++框架代码

c++格式化字符串

c++ orm框架

c++ string类

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

Laravel 中文站