当前位置: 首页 > article >正文

在 C++ 容器中,插入或修改元素时

在 C++ 容器中,插入或修改元素时,具体行为会因使用的函数或方法而有所不同。这种差异主要体现在插入元素时是否覆盖、是否允许重复,以及返回的值如何体现操作的结果。

以下是常用插入和修改操作函数的行为分析:
std::map 和 std::unordered_map

常用函数:operator[]

如果键不存在,会插入默认值。
如果键存在,会修改对应的值。

std::map<int, int> mymap;
mymap[1] = 10;  // 插入键值对 {1, 10}
mymap[1] = 20;  // 修改键 1 对应的值为 20

常用函数:insert()

如果键存在,insert() 会拒绝插入,并返回一个 pair:
pair.first 是指向现有键值对的迭代器。
pair.second 是一个布尔值,表示是否成功插入。



std::map<int, int> mymap;
auto res = mymap.insert({1, 10});  // 插入 {1, 10}
if (!res.second) {
    cout << "Key already exists with value: " << res.first->second << endl;
}


http://www.kler.cn/a/403589.html

相关文章:

  • 使用redis-shake工具进行redis的数据同步
  • vue3:使用插件递归组件
  • 小程序-使用 iconfont 图标库报错:Failed to load font
  • Docker Compose安装部署PostgreSQL数据库
  • Arcgis 地图制作
  • WPF里面的C1FlexGrid表格控件添加RadioButton单选
  • 阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_作战无人机和察打无人机图鉴
  • 全面解析:HTML页面的加载全过程(一)--输入URL地址,与服务器建立连接
  • MATLAB图注意力网络GAT多标签图分类预测可视化
  • 如何运行python脚本
  • 基于java+ssm+Vue的校园美食交流系统设计与实现
  • MyBatis——#{} 和 ${} 的区别和动态 SQL
  • 【Golang】手搓DES加密
  • 5G与4G互通的桥梁:N26接口
  • [js] 0.1+0.2
  • CentOS操作系统下安装Nacos
  • C语言 | Leetcode C语言题解之第564题寻找最近的回文数
  • 《Python网络安全项目实战》项目6 编写密码工具程序
  • C#拼接小文件合成一个大文件
  • Go context.Context
  • Oracle - 多区间按权重取值逻辑 ,分时区-多层级-取配置方案(二)
  • 机器翻译基础与模型 之二: 基于CNN的模型
  • 蓝桥杯每日真题 - 第18天
  • git修改安装位置后处理
  • labview中的调用链
  • 【Redis】GEO数据结构