C++のmap関数の役割は何ですか?

C++のmap関数は高階関数であり、配列やリストなどのコンテナに対して関数を適用し、元の要素を処理した結果を含む新しいコンテナを返す。

map関数は、コンテナ内の各要素に1つの関数を適用し、新しいコンテナを返すことで、元のコンテナの対応する要素が関数処理された結果である各要素として含まれます。コンテナ内の各要素に同じ操作を行うために使用され、コードの記述を簡素化します。

例えば、整数配列numsがあるとします。各要素に1を加えて新しい配列に保存したい場合、map関数を使用することができます。

#include <iostream>
#include <vector>
#include <algorithm>

int addOne(int num) {
    return num + 1;
}

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};
    std::vector<int> newNums;

    std::transform(nums.begin(), nums.end(), std::back_inserter(newNums), addOne);

    for (int num : newNums) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

出力は2、3、4、5、6です。上記のコードでは、std::transform関数はmap関数の役割を果たしており、addOne関数をnums配列の各要素に適用し、処理結果をnewNums配列に保存しています。

bannerAds