插入时的位置 std::map
Position when inserting in std::map
我有一个方法可以在 std::map 中插入一对。
地图类似于 (0, value0), (3, value3), (8, value8) ...
所以当我插入时我需要指定整数值。
我的问题是,如果我有:
(0, value0), (3, value3) 并且我想插入 (5, value5),其中 value3 与 value5 相同,不能插入对 (5, value5)。
我如何检查我的元素应该去的位置的前一个位置不具有相同的值?
到目前为止,我已经尝试插入对,获取迭代器,检查先前的值并在需要时删除插入的值。但我发现这种解决方案有点难看。
有任何想法吗?
提前致谢
Map 的lower_bound
函数将return 指向第一个位置大于或等于您给它的位置的元素的迭代器;然后你可以回去一个。 (小心,以防你已经开始了。)
我有一个方法可以在 std::map 中插入一对。 地图类似于 (0, value0), (3, value3), (8, value8) ... 所以当我插入时我需要指定整数值。 我的问题是,如果我有: (0, value0), (3, value3) 并且我想插入 (5, value5),其中 value3 与 value5 相同,不能插入对 (5, value5)。 我如何检查我的元素应该去的位置的前一个位置不具有相同的值? 到目前为止,我已经尝试插入对,获取迭代器,检查先前的值并在需要时删除插入的值。但我发现这种解决方案有点难看。 有任何想法吗? 提前致谢
Map 的lower_bound
函数将return 指向第一个位置大于或等于您给它的位置的元素的迭代器;然后你可以回去一个。 (小心,以防你已经开始了。)