#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;
}
标签:arr,映射,int,元素,result,include,表达式,lambda
From: https://www.cnblogs.com/wozhuyinghao/p/17248336.html