std::map emplace和insert使用
插入结构体时,emplace比insert少一次拷贝构造,推荐使用emplace
// map_emplace.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//#include <iostream>
#include <map>
#include <string>
using namespace std;struct Clinet {string host;int port;Clinet(string hostParam, int portParam):host(hostParam),port(portParam) {cout << "Clinet Construct" << endl;}Clinet(const Clinet &other) :host(other.host), port(other.port){cout << "Clinet Copy Construct" << endl;}
};int main()
{map<int, struct Clinet> mapTmpVariable;mapTmpVariable.emplace(1, Clinet("192.168.100.1", 1000));mapTmpVariable.emplace(2, Clinet("192.168.100.2", 1001));mapTmpVariable.emplace(3, Clinet("192.168.100.3", 1002));cout << "size:" << mapTmpVariable.size() << endl;mapTmpVariable.insert(std::pair<int, struct Clinet>(4, Clinet("192.168.100.3", 1002)));cout << "size:" << mapTmpVariable.size() << endl;
}
std::map emplace和insert使用相关推荐
- c语言中std::map_在现代C ++中明智地使用std :: map
c语言中std::map std::map and its siblings(std::multimap, std::unordered_map/multimap) used to be my fav ...
- 【C++】17. map []操作符、insert()、emplace()
1. std::map 的 []操作符 对于 std::map容器来说,调用[]操作符会自动创建一个value为空的键值对 std::map<std::string,int> name_a ...
- 【c++】8.map和vector容器查找、删除指定元素、emplace、insert
1.查找与删除 vector 和 map 容器中指定元素 vector 查找或删除vector的指定元素"123" 方法1:使用迭代器 不同于map(map有find方法),vec ...
- 【c++】映射表std::map
文章内容为网络搜集内容 std::map 映射表(Map)容器是一个按特定顺序存储以键值对组合而成的元素的关联容器 // <map> template < class Key,cla ...
- C++ STL map emplace()和emplace_hint()(深入了解,一文学会)
C++ STL Map模板类中除了 insert() 方法 还提供了 emplace() 和 emplace_hint() 成员函数,也可以实现向 map 容器中插入新的键值对.本节就来讲解这 2 个 ...
- C++ 那些被遗漏的细节2 map emplace emplace_hint
说明 主要关注map的emplace.insert的返回类型 std::pair<iterator, bool> 和 emplace_hint的返回类型iterator. template ...
- std::map只修改不用加锁
std::map创建并初始化之后,不会再有任何的insert和delete键值对的操作.仅有的操作就是不同的线程会访问不同的key,对key对应的value进行修改,请问这种情况下,是否需要加锁? 不 ...
- std::map用法总结
给出了map的基本用法如插入.查找.删除.遍历等等,同时告诉你如何实现双键map,包括 (1) 只有两个键都匹配才命中目标 (2) 两个键中任意一个匹配就命中目标 可以扩展到多键 (一) 介绍特点:1 ...
- std::map用法
std::map用法 STL是标准C++系统的一组模板类,使用STL模板类最大的好处就是在各种C++编译器上都通用. 在STL模板类中,用于线性数据存储管理的类主要有vector, list, map ...
最新文章
- Java数据结构与算法:堆
- 在Python中变量名这样写,就是给自己挖坑
- python-install-package-C++编译器问题---03
- 深度学习2.0-33.BatchNorm
- 计算机职称评定认可增刊吗,核心期刊增刊评定职称可以用吗?
- 省市区的行政区域数据2021(国家统计局)
- 苹果手机怎么查看已连接wifi密码_手机连不上wifi显示已保存怎么回事【原因介绍】...
- 微信打开h5链接,缓存未清除解决办法
- C++哈利波特代码(下)
- 全员营销实施困难,是因为你没有这个神器
- hive 安装mysql报错_hive的元数据存储在mysql后,报错的解决方法
- python京东抢购手机攻略_Python实现自动上京东抢手机
- 牛客练习赛52 B Galahad (树状数组)
- java河南口腔医疗机构线上服务系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
- 京东商品评论API接口-(item_review-获得JD商品评论API接口),京东API接口
- win7资源服务器未响应,Win7资源管理器未响应怎么办 试试这个方法 - 驱动管家
- 校园认证客户端弹出UAC窗口解决办法-修改注册表
- 【日本IT】连自社開発、受託企業、SES都不知道,你就敢赴日干IT?
- LCD的Cell制程
- 用Java画城堡_一分钟简笔画—跟我一起画城堡 大师来详解
热门文章
- 转:从个人成长转变为组织成长
- tranform知多少
- python中plt.legend_matplotlib.pyplot绘制legend、特殊符号、设置坐标轴Ticks
- 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十四)-任意文件下载漏洞(2)
- 三极管等效、互换、自锁电路
- 【机器学习】关于注意力模型(Attention-model)的理解和应用
- linux只认64G内存,怎样让32位的windows和linux系统支持64G内存
- cmd命令进入文件夹,回到上一级,打开文本,显示文件列表。
- 太卷了, 某公司把自家运营多年的核心系统完全开源了....
- rk3568 点亮HDMI