gpt4 book ai didi

c++ - 为什么空队列的大小在 pop 后会减一?

转载 作者:太空宇宙 更新时间:2023-11-04 15:21:57 26 4
gpt4 key购买 nike

#include <queue>
#include <stdio.h>

int main ()
{
std::queue<int> q;
printf("%d\n", q.size());

q.pop();
q.pop();

printf("%d\n", q.size()); // ===> prints -2

return 0;
}

最佳答案

在空容器上调用 queue.pop() 会产生未定义的行为,因此在完成此操作后您不能真正依赖您的程序的任何内容。

当您调用未定义的行为时,让您的队列可能损坏并报告 -1 的 size() 是正确/好/坏的。

关于c++ - 为什么空队列的大小在 pop 后会减一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16793239/

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