谁来解释下,关于C++queue pop时用for循环调size()就不正确,为什么会这样。。

2025-01-31 01:20:23
推荐回答(1个)
回答1:

很简单,truck.size()返回的是当前队列的长度,你每pop()一次,队列的当前长度都要减1。在你这个例子中,原本队列长度是4。
第一次进入循环:i = 0, truck.size() = 4,输出一个结果
第二次进入循环:i = 1,truck.size() = 3, 输出一个结果
第三次进入循环:i = 2,truck.size() = 2,此时 i希望对你有帮助