按照c++标准,set, map的键值是不可以修改的

如题,即find()或begin()得到的iterator,都是constant,不可修改的。

c++17中加了一个新接口,extract,大体用法就是把节点从红黑树上摘下,然后修改,再放回去。思路上跟现在的先删掉,再重新构造,再插入是一样的,只是内存利用方面进行了优化,就是右值move这些操作了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中的容器有很多种,其中包括mapsetmap是一种关联容器,它存储了一组对,每个对应一个map中的是唯一的,且按照某种顺序进行排序。set也是一种关联容器,它存储了一组唯一的,并按照一定的顺序进行排序。mapset都可以通过迭代器进行遍历和访问。引用、和中的代码示例展示了如何使用mapset进行操作和排序。 在示例代码中,map是字符串类型,是整数类型。可以使用insert函数向map中插入对,使用[]运算符访问和修改特定对应的set中只存储了,可以使用insert函数插入,使用find函数查找特定的。 需要注意的是,mapset中的元素是按照的顺序进行排序的,因此在示例代码中使用了不同的排序方式。map默认是按照的升序进行排序的,可以使用greater<int>作为模板参数,将其改为按的降序进行排序。 总结起来,C++中的mapset是用来存储一组唯一的的容器,可以通过迭代器进行遍历和访问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++进阶之mapset](https://blog.csdn.net/qq_52433890/article/details/124850598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值