忍者ブログ

どっかのゆとりのチラシの裏

plasma_effectのメモ帳的ブログのようなsomething

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

std::listのremove_ifについて

忘れないうちに書いとく。
標準ライブラリ内のclassであるlistのメンバ関数には
template<class _Pr1>void remove_if(_Pr1 _Pred)が存在する。
これは「listの要素で条件に適合するものを除去する」というものだが「そもそも条件ってなんぞや」という話になる。私もそうなった。

で、こっそりVC++での実装を見たのだがどうやらこうやって使うらしい。

つまり引数として関数オブジェクトを渡し、その関数オブジェクトに引数として要素を渡し、その返り値がtrueならその要素を消すというものだ。
そこで無名関数の登場である。返り値をbool型(別にintでもいいが)、引数をlistの要素の型にすれば関数の返り値がtrueとなれば削除される。

「3の倍数だけ消す」とか「ある動作をそれぞれ実行させてその返り値がtrueのやつだけ消す」とかいう動作を実現できる。ぜひ使ってみてはいかがだろうか。
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

10 2017/11 12
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

フリーエリア

最新CM

[02/12 kariya_mitsuru]
[10/14 どっかの京大生o]
[10/04 どっかのZ会生y]
[07/31 どっかのZ会生y]
[07/31 GNR]

プロフィール

HN:
plasma_effect
性別:
非公開

バーコード

ブログ内検索

最古記事

(06/08)
(06/18)
(06/21)

P R