我有一个map
要插入新元素的对象。这样做之后,我想确保这个新插入的元素被插入到末尾。为此,我设计了以下方法:
map<T1,T2> m;
//populate m
auto ret_pair = m.insert({o1,o2}); //o1,o2 objects of types T1,T2
auto end = m.cend();
--end;
if (ret_pair.first != end) //<-- this worries me
throw runtime_error("boom");
我比较两个迭代器的那一行让我担心,因为我不确定我是否可以依赖这些不同的迭代器是相同的,即使指向同一个东西。
你怎么看?为什么这(不)行得通?