C++のmap関数の使い方は何ですか?

C++で、map関数を使用するにはヘッダーファイルを含める必要があります。map関数の使用方法は次の通りです:

  1. 結果をマップするためのターゲットコンテナを定義します。
  2. 地図 (ちず)

以下は、整数配列の各要素を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関数はC++標準ライブラリでのmap関数の実装であり、4つのパラメーターを受け取ります:元のコンテナの始まりのイテレーター、元のコンテナの終わりのイテレーター、目的のコンテナの挿入イテレーター、およびマッピング操作を指定するための関数オブジェクト(lambda式を使用しました)。std::back_inserter関数は挿入イテレーターであり、目的のコンテナの末尾に要素を挿入するために使用されます。

注意,map関数は元のコンテナを変更せず、代わりにマッピング後の結果を格納した新しいコンテナを生成します。

bannerAds