用lambda表达式写一个数组映射

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
// 定义一个整数数组arr,包含五个元素:1, 2, 3, 4, 5。
int arr[] = { 1, 2, 3, 4, 5 };
// 定义一个空的向量result,用来存放映射后的结果。
vector<int> result;
// 调用transform函数,传入四个参数:
// arr是源序列的起始位置,也就是指向第一个元素1的指针。
// arr + 5是源序列的结束位置,也就是指向最后一个元素5之后的位置。
// back_inserter(result)是目标序列的起始位置,也就是一个插入迭代器,它可以在result的末尾插入新元素。
// [](int x) { return x * x; }是一个lambda表达式,它定义了映射函数,也就是把每个元素都平方。
transform(arr, arr + 5, back_inserter(result), [](int x) {
return x * x;
});
// 输出result向量中的元素
for (int x : result) {
cout << x << " ";
}
cout << endl;
return 0;
}
posted @   朱英浩  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示