在std::map中插入时的位置

Position when inserting in std::map

本文关键字:插入 位置 std map      更新时间:2023-10-16

我有一个方法,它在std::map中插入一对。地图类似于(0,value0)、(3,value3)、(8,value8)。。。所以当我插入时,我需要指定整数值。我的问题是,如果我有:(0,value0),(3,value3)并且我要插入值3与值5相同的(5,value5)-不能插入对(5,value 5)。我如何检查元素应该去的位置的前一个位置是否有相同的值?到目前为止,我已经尝试插入对,获取迭代器,检查以前的值,并在需要时删除插入的值。但我觉得这个解决方案有点难看。有什么想法吗?提前感谢

Map的lower_bound函数将向位置大于或等于给定位置的第一个元素返回迭代器;然后你就可以回去了。(小心,以防你已经开始了。)

http://en.cppreference.com/w/cpp/container/map/lower_bound