插入std :: map时的位置

时间:2015-12-26 12:25:12

标签: c++ dictionary insert std stdmap

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

1 个答案:

答案 0 :(得分:2)

Map' NAN函数会将迭代器返回给第一个元素,该元素的位置大于或等于你给它的位置;然后你可以回去一个。 (小心,如​​果你已经开始了。)

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