c++

c++ map函数的使用方法是什么

小亿
86
2023-12-22 22:08:17
栏目: 编程语言

在C++中,使用map函数需要包含<algorithm>头文件。map函数的使用方法如下:

  1. 定义一个目标容器,用于存储映射后的结果。
  2. 使用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函数不会改变原容器,而是产生一个新的容器存储映射后的结果。

0
看了该问题的人还看了