C++中的map
函數是一個高階函數,它可以將一個函數應用到一個容器(如數組、列表)中的每個元素,并返回一個新的容器,其中每個元素都是原容器中對應元素經過函數處理后的結果。
map
函數的作用是將一個函數應用到容器中的每個元素,并返回一個新的容器,其中每個元素都是原容器中對應元素經過函數處理后的結果。它可以用于對容器中的每個元素進行相同的操作,從而簡化代碼的編寫。
例如,假設有一個整數數組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
數組中。