在C++中,std::map
是一個關聯容器,它存儲的元素是鍵值對,其中鍵不能重復
#include<iostream>
#include <map>
int main() {
std::map<int, std::string> original_map = {{1, "one"}, {2, "two"}, {3, "three"}};
std::map<int, std::string> copied_map;
for (const auto& pair : original_map) {
copied_map.insert(pair);
}
// 輸出拷貝后的map
for (const auto& pair : copied_map) {
std::cout<< pair.first << ": "<< pair.second<< std::endl;
}
return 0;
}
std::copy
函數和插入迭代器:#include<iostream>
#include <map>
#include<algorithm>
int main() {
std::map<int, std::string> original_map = {{1, "one"}, {2, "two"}, {3, "three"}};
std::map<int, std::string> copied_map;
std::copy(original_map.begin(), original_map.end(), std::inserter(copied_map, copied_map.end()));
// 輸出拷貝后的map
for (const auto& pair : copied_map) {
std::cout<< pair.first << ": "<< pair.second<< std::endl;
}
return 0;
}
#include<iostream>
#include <map>
int main() {
std::map<int, std::string> original_map = {{1, "one"}, {2, "two"}, {3, "three"}};
std::map<int, std::string> copied_map(original_map);
// 輸出拷貝后的map
for (const auto& pair : copied_map) {
std::cout<< pair.first << ": "<< pair.second<< std::endl;
}
return 0;
}
#include<iostream>
#include <map>
int main() {
std::map<int, std::string> original_map = {{1, "one"}, {2, "two"}, {3, "three"}};
std::map<int, std::string> copied_map;
copied_map = original_map;
// 輸出拷貝后的map
for (const auto& pair : copied_map) {
std::cout<< pair.first << ": "<< pair.second<< std::endl;
}
return 0;
}
以上就是在C++中實現std::map
拷貝的幾種方法。