首页 > 解决方案 > 如何将指针列表插入指针指针列表?

问题描述

假设我有这两个带有指针的列表。

list<Node **> open;
list<Node *> new_children;

我想用指向 's 元素的list<Node **> open指针list<Node *> new_children填充:

for (Node * n : new_children)
{
    open.emplace_front(&n);
}

在此之后,如果我写出 open 的元素:

for (auto o : open)
{
    (**o).dump();
}

我一次又一次地得到相同的元素。这是为什么?

标签: listpointers

解决方案


这段代码是错误的:

for (Node * n : new_children)
{
    open.emplace_front(&n);
}

您需要使用 push_front:

for (Node * n : new_children)
{
    open.push_front(&n);
}

去做你想做的事。


推荐阅读