温馨提示×

Ubuntu C++lambda表达式怎么用

小樊
52
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