【发布时间】:2019-01-30 10:34:17
【问题描述】:
我有一个如下的无序集:
[1,2,3,4,6,7,5]
我想从我的无序集合中删除并存储一个元素,我不在乎删除了哪个元素。
我目前正在做以下事情。有更快的方法吗?
auto it = set_of_ints.begin();
set_of_ints.erase(it);
.....
.....
std::cout << "removed element is: " << *it << std::endl;
我的意思是在擦除之前粘贴打印语句,但许多答案都讨论了这个问题。所以我保持原样。
【问题讨论】:
-
上面的代码在取消引用迭代器
it时是UB。 -
@RichardHodges 我不小心重新排列了线条。我的意思是在擦除之前使用取消引用的值
标签: c++ performance optimization stl