<分区>
当我向集合中插入 3 个元素然后调用 *s.end()
时,我得到了 3 的正确输出,如下所示:
set<int> s;
s.insert(1);
s.insert(2);
s.insert(3);
cout << *s.end();
然后我删除 2 个值并插入 11,如下所示:
s.erase(3);
s.erase(2);
s.insert(11);
cout << *s.end();
*s.end()
的新预期输出应该是 11。但是输出显示 2。不知道这个 2 是从哪里来的。有什么想法吗?
预期输出:3 11
实际输出:3 2
不清楚 2 的来源。