// lambda表达式C++示例代码
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
// 定义一个简单的lambda表达式,它接受两个参数并返回它们的和
auto add = [](int a, int b) -> int {
return a + b;
};
std::cout << "3 + 4 = " << add(3, 4) << std::endl;
// 使用lambda表达式作为std::sort的比较函数
std::vector<int> numbers = {5, 2, 9, 1, 5, 6};
std::sort(numbers.begin(), numbers.end(), [](int a, int b) {
return a > b; // 按降序排序
});
std::cout << "Sorted numbers (descending): ";
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
定义lambda表达式:
auto add = [](int a, int b) -> int { return a + b; };add,它接受两个整数参数并返回它们的和。[]表示捕获列表(这里为空),-> int是返回类型。使用lambda表达式进行排序:
std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; });std::sort的第三个参数,用于自定义排序规则。该lambda表达式比较两个整数并按降序排列。输出结果:
3 + 4 = 7,以及按降序排列后的数组元素。上一篇:c++ string转char*
下一篇:c++定义常量
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站