#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;
}
auto print_message = []() { ... }; 定义了一个没有参数和返回值的lambda函数,并调用它来打印一条消息。auto add = [](int a, int b) -> int { ... }; 定义了一个带有两个整数参数并返回它们和的lambda函数。std::for_each遍历并打印std::vector<int>中的元素。auto multiply = [factor](int x) { ... }; 演示了如何在lambda函数中捕获外部变量factor,并在函数体内使用它。通过这些例子,展示了C++中lambda函数的基本用法及其灵活性。
上一篇:c++pair
下一篇:c++ lower_bound
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站