私はすでにCDrawObject *のリストポインタを持っています
std::list<CDrawObject*> elements;
いくつかの要素をリストの最後に移動する方法。 STL Algorithms Reference が表示されますが、この操作が見つかりません。どうすればいいですか?
リストメソッドsplice()を使用します
void list::splice ( iterator position, list<T,Allocator>& x, iterator i );
イテレータiをリストxから現在のリストの「位置」に移動します
したがって、それを最後に移動するには
x.splice( x.end(), x, iter );
(アイテムの移動元のリストがTとアロケーターの両方で同じタイプである限り、両方とも同じリストでも異なるリストでもかまいません)
std::list
は二重にリンクされたリストです。つまり、要素n
にランダムにアクセスすることはできません。君は する必要がある 要素を削除してから、Push_back
を使用できます。
それを削除してから、リストに追加します。