set :: end ++的价值是什么?

Arc*_*Cha 0 c++ stl

首先,我用set::lower_bound来找东西,然后我需要在两个方向检查那个值的邻居.我的代码以无限循环结束,我认为这可能是由于此后的奇怪行为:

idx = set.lower_bound(val);
++idx;
while(idx != set.end() && /*...*/)
{
  /*...*/
  idx++;
}
Run Code Online (Sandbox Code Playgroud)

我们假设lower_bound返回set::end.我想在增加了set::end一些奇怪的东西之后,而循环进入长途旅行的星星:)但我不确定并且好奇它.

Ker*_* SB 5

增加end-iterator是未定义的行为.不要这样做.