在C++中,使用map
函数需要包含
头文件。map
函数的使用方法如下:
- 定义一个目标容器,用于存储映射后的结果。
- 使用
map
函数将原容器中的元素映射到目标容器中。
以下是一个示例代码,演示了如何使用map
函数将一个整数数组中的每个元素都乘以2,并将结果存储在另一个容器中:
#include#include #include int main() { std::vector numbers = {1, 2, 3, 4, 5}; std::vector 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
函数不会改变原容器,而是产生一个新的容器存储映射后的结果。