【发布时间】:2011-04-08 09:41:48
【问题描述】:
我在 C++ 程序中有一个 std::list,其中包含 A 类的对象。 假设我有 10 个对象。我有对存储在另一个数据结构中的第 6 个对象的引用,例如 ref_6。假设我需要从列表中删除第 8 个元素。为此,我将使用 pop_front 8 次并将 8 个对象存储在一个向量中,并使用 push_front 7 次将前 7 个元素插入到列表中,所以现在我的结果列表将有 9 个元素。现在,当我尝试访问存储在 ref_6 中的对象时,这是第 6 个元素,我做不到。此参考中有一些垃圾值。 我假设当我执行 pop 和 push 时,同一对象的内存位置会发生变化。我该如何处理?
【问题讨论】:
标签: c++ list memory-management stl containers