ubuntu

Ubuntu C++lambda表达式怎么用

小樊
58
2025-06-09 21:11:10
栏目: 编程语言

在 Ubuntu 上使用 C++ lambda 表达式非常简单,因为 Ubuntu 默认使用的 GCC 编译器支持 C++11 及以上标准,而 lambda 表达式是从 C++11 开始引入的特性。下面是一个简单的例子来展示如何在 Ubuntu 上使用 C++ lambda 表达式。

首先,确保你的系统上安装了 g++ 编译器。如果没有安装,可以通过以下命令安装:

sudo apt update
sudo apt install g++

然后,创建一个名为 lambda_example.cpp 的文件,并输入以下代码:

#include <iostream>
#include <functional>

int main() {
    // 定义一个 lambda 表达式,捕获周围作用域的变量 by value
    auto add = [](int x, int y) -> int {
        return x + y;
    };

    // 使用 lambda 表达式
    int result = add(5, 3);
    std::cout << "The result is: " << result << std::endl;

    // 捕获周围作用域的变量 by reference
    int a = 5;
    int b = 10;
    auto increment = [&a, &b]() {
        ++a;
        ++b;
    };

    // 调用 lambda 表达式
    increment();
    std::cout << "a: "<< a << ", b: "<< b << std::endl;

    return 0;
}

在这个例子中,我们定义了两个 lambda 表达式。第一个 lambda 表达式 add 接受两个参数并返回它们的和。第二个 lambda 表达式 increment 捕获了两个外部变量的引用,并在调用时递增它们。

要编译这个程序,请在终端中运行以下命令:

g++ -std=c++11 lambda_example.cpp -o lambda_example

这将生成一个名为 lambda_example 的可执行文件。运行这个程序,你将看到以下输出:

The result is: 8
a: 6, b: 11

这就是在 Ubuntu 上使用 C++ lambda 表达式的基本方法。你可以根据需要修改和扩展这个例子,以满足你的需求。

0
看了该问题的人还看了