gpt4 book ai didi

c++ - deque::push_front 不工作

转载 作者:行者123 更新时间:2023-11-28 00:10:53 25 4
gpt4 key购买 nike

我有一个 std::deque<std::deque<Room*>> rooms我正在迭代:

for(auto row : rooms) {
row.push_front(new Room());
}

但出于某种原因,它只是用 new Room 覆盖了第一个对象而不是插入 new Room在它之前。如果我记录 row 的大小push_front 前后调用,它读出,例如,1 然后 2(好像它的行为符合预期),但是如果我在循环后记录大小,row回到只有 1 的大小。

没有太多其他事情发生,如果需要,我可以提供更多代码。

for 循环中是否发生了我不知道的事情?我从来没有看到第一个房间被毁坏或任何东西。

最佳答案

使用 auto& row 而不是 auto row - 目前您正在制作每一行的临时拷贝而不是修改原始行。

关于c++ - deque::push_front 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33192491/

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