list - 如何将指针列表插入指针指针列表?
问题描述
假设我有这两个带有指针的列表。
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();
}
我一次又一次地得到相同的元素。这是为什么?
解决方案
这段代码是错误的:
for (Node * n : new_children)
{
open.emplace_front(&n);
}
您需要使用 push_front:
for (Node * n : new_children)
{
open.push_front(&n);
}
去做你想做的事。
推荐阅读
- react-native - 如果使用 Formik + Yup 出现验证错误,如何调用表单提交方法?
- mysql - docker-compose up 无效模式 /docker-entrypoint-initdb.d/ - 无法为服务数据库创建容器
- javascript - 如何访问存储在由一个字段链接的数组对象中的两个数据?
- python - python脚本执行时弹出/消息
- html - 表格中的垂直文本
- javascript - 使用 Javascript 创建一个非常大的可滚动(通过按住鼠标右键)Canvas
- maven - 只有在使用 testng.run() 命令运行套件时,TestNG 控制台才会显示空白
- angular - 如何将焦点设置到 dx-text-box?
- java - 从 .wotreplay 文件中提取数据
- sql - 如果列在 SQL 中有多个值,则不选择