gpt4 book ai didi

c++ - while 循环不等于 std::queue 大小

转载 作者:行者123 更新时间:2023-11-30 01:49:40 25 4
gpt4 key购买 nike

我有这个代码:

std::queue<unsigned int> offsets;
// (fill offsets here)

DEBUG(std::to_string(offsets.size())) // print offsets.size() to console
int iterations = 0;

while (!offsets.empty())
{
iterations++;

unsigned int currOffset = offsets.front();
offsets.pop();

if (currOffset == 0)
{
DEBUG("breaking from while loop")
break;
}

// do something with currOffset
}

DEBUG(std::to_string(iterations))

出于某种原因,iterations 永远不会等于 offsets.size()。我不确定这是为什么。在我的测试应用程序中,offsets.size() == 28,但 iterations == 11。在此应用程序中,我只从 while 循环中断一次。

知道为什么会这样吗?非常感谢您的帮助。

最佳答案

因为第 11 个偏移量为零并且条件中断在循环到达数据结构末尾之前触发?

无论是那个还是 //do something with currOffset 都涉及从队列中弹出更多的东西。

关于c++ - while 循环不等于 std::queue 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28681969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com