获取std :: set中的last/new添加元素

cpx*_*cpx 1 c++ stl

你能在std :: set中获得最后一个或新添加的元素吗?例如,如果循环运行以收集元素以填充std :: set.

如果第一次运行该集合,

[0] "A"
[1] "B"
[2] "D"
Run Code Online (Sandbox Code Playgroud)

并且,在第二次运行时,该集合变为

[0] "A"
[1] "B"
[2] "C"
[3] "D"
Run Code Online (Sandbox Code Playgroud)

你如何检查'C'是否是添加的新元素?

Jon*_*ric 12

set::insert将迭代器返回到新插入的项目.如果您对该项目感兴趣,请继续使用该迭代器.


ken*_*ytm 5

如果您仍有旧设置,请set_difference在它们之间进行计算.

否则,你不能.在std::set不保留当元素插入有关的任何信息.如果需要保留该信息,请使用std::vector(并push_back仅插入元素).