首先,我set::lower_bound
用来查找一些东西,然后我需要在两个方向上检查该值的一些邻居。我的代码最终进入无限循环,我认为这可能是由于之后的奇怪行为:
idx = set.lower_bound(val);
++idx;
while(idx != set.end() && /*...*/)
{
/*...*/
idx++;
}
让我们假设 lower_bound 返回set::end
。我想在增加set::end
一些奇怪的事情之后发生了,while 循环进入了通往星星的漫长旅程:) 但我不确定和好奇。