我已经有了CDrawObject *
的列表指针std::list<CDrawObject*> elements;
如何将某个元素移动到列表末尾。 我看到STL Algorithms Reference但我找不到这个操作。我怎么能这样做?
答案 0 :(得分:56)
使用list方法splice()
void list::splice ( iterator position, list<T,Allocator>& x, iterator i );
将迭代器i从列表x移动到位置“position”的当前列表
因此将其移至最后
x.splice( x.end(), x, iter );
(只要移动项目的列表具有相同的类型,T和分配器,它们都可以是相同的列表或不同的列表)
答案 1 :(得分:4)
std::list
是双向链接列表,这意味着您无法随机访问元素n
。你必须可以删除元素,然后使用push_back
。
答案 2 :(得分:-1)
将其删除,然后将其附加到您的列表中。