読者です 読者をやめる 読者になる 読者になる

Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

STL入門 第4回 ~list編~ 2

Programming C++ STL
スポンサードリンク

f:id:fa11enprince:20150730082309j:plain
過去のSTLの記事はこちら↓

JavaScriptを勉強してる私です。しかしCSSがちょっとわかってないことに気付いたグフフ。
ちくしょー、暗記系かよ~と嘆いております。
気を取り直して、C++のSTLのlist再びです。
今回はlist::splice()の紹介です。
次の形式があります。

void splice(iterator i, list<T, Allocator> &ob);
void splice(iterator i, list<T, Allocator> &ob, iterator el);
void splice(iterator i, list<T, Allocator> &ob, iterator start, iterator end);

最初のはiteratorが指す位置にobを突っ込みます。そのあとobの要素は空っぽになります。
次のはiteratorが指す位置にobのelの要素だけが突っ込まれます。obからはelだけが消えます。
最後のはiteratorが指す位置にobのstartからendまでの要素が突っ込まれ、obからはstartからendまでの要素が消えます。

なんのこっちゃい?って感じだと思いますので、テストコードを見てみるとわかります。

テストコード


実行結果

元の文章:
食パンを くわながら
先頭にsplice()した後の文章:
ある朝 遅刻しそうな時間に 食パンを くわながら
末尾にsplice()した後の文章:
ある朝 遅刻しそうな時間に 食パンを くわながら 出会い頭で 美少女と 衝突した
中間にsplice()した後の文章:
ある朝 遅刻しそうな時間に 食パンを くわながら 全力で ダッシュしていると 出会い頭で 美少女と 衝突した

ええ、実行結果は僕の願望です。

参考

『STL標準講座―標準テンプレートライブラリを利用したC++プログラミング』
list::splice - C++ Reference

次回はこちら↓