我想使用 alist
来保存一系列对象,这些对象包含有关我将执行的任务的信息。一旦这些对象之一完成,我就不再需要它;我只需要转到列表中的下一个对象。这基本上是一个队列。
关于指向这些对象的指针:
一旦我得到一个指向要操作的列表对象的指针,如果我删除列表中的其他元素,这个指针仍然有效,对吗?因为一旦我完成了我的第一个对象,我将移动到下一个对象,并且我将pop
使用第一个对象,同时继续处理下一个对象,现在它成为第一个对象。本质上,我将始终处理列表中的第一个对象。我想确保即使我删除了其他列表项,指向现有列表项的指针也不会失效。
(顺便说一句,这是我想使用 a 的主要原因list
,所以我可以操作它,而无需将所有其他列表对象潜在地移动到内存中的新空间,因为这种情况vector
会使这变得昂贵)
关于内存:
当我向列表中添加某些内容时,我是否可以期望列表获得所有权,并且如果我的原始项目超出范围而列表仍处于成员变量范围内,我的对象仍将持续存在吗?然后,一旦弹出,item对象最终会超出范围吗?