#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;
}
[x]() 表示捕获外部变量 x 并定义一个无参函数体。std::for_each 中的 lambda 表达式用于对每个元素进行平方操作并输出。[&a, &b]() -> int 捕获 a 和 b 的引用,并返回它们的和。上一篇:c++ 学习
下一篇:c++ 线程锁
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站