在C++中,使用map
函数需要包含<algorithm>
头文件。map
函数的使用方法如下:
map
函数将原容器中的元素映射到目标容器中。以下是一个示例代码,演示了如何使用map
函数将一个整数数组中的每个元素都乘以2,并将结果存储在另一个容器中:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
std::vector<int> result;
// 使用map函数将原容器中的元素乘以2,并存储到目标容器中
std::transform(numbers.begin(), numbers.end(), std::back_inserter(result), [](int n) { return n * 2; });
// 输出结果
for (int n : result) {
std::cout << n << " ";
}
std::cout << std::endl;
return 0;
}
输出结果为:2 4 6 8 10
。
在上述代码中,std::transform
函数是map
函数的C++标准库实现,它接受四个参数:原容器的起始迭代器、原容器的结束迭代器、目标容器的插入迭代器、以及一个用于指定映射操作的函数对象(使用了lambda表达式)。std::back_inserter
函数是一个插入迭代器,它用于在目标容器的末尾插入元素。
注意,map
函数不会改变原容器,而是产生一个新的容器存储映射后的结果。