在C++中,使用map
函數需要包含<algorithm>
頭文件。map
函數的使用方法如下:
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
函數不會改變原容器,而是產生一個新的容器存儲映射后的結果。