在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
拷贝的几种方法。