map拷贝在C++中的实现方式有哪些

   2024-09-30 7050
核心提示:在C++中,std::map是一个关联容器,它存储的元素是键值对,其中键不能重复使用范围for循环遍历原始map并插入到新map中:#include

在C++中,std::map是一个关联容器,它存储的元素是键值对,其中键不能重复

使用范围for循环遍历原始map并插入到新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;}
使用C++11的拷贝构造函数:
#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;}
使用C++11的赋值操作符:
#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拷贝的几种方法。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号