忍者ブログ

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

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

Neon Breaker

完・成!
間に合った…

あほげー提出用ゲームです。このブログではうpできなかったのでAxfcにうpしました。こちら
中のれあどめにも書いてますが、VC++のランタイム必須です。64bits用のはインストーラー入れときました。

計算速度

twitterにも公開したけど一応。
int型とdouble型の計算速度の違いを調べてみた。
同じ演算を10億回繰り返しそれにかかる時間を測定する。16回測定しその平均をとり、それを結果とした。
測定するのは「int型同士の+-*/%」と「double型同士の+-*/%」の計10種類。
結果は上の画像の通り。
これからわかるのはint型よりdouble型のほうが計算が早いということ。理由は不明。
あとどちらも+より*の方が早い。これも不明。

一応動作環境
CPU Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz 2.70GHz
メモリ 4.00GB(3.87GB使用可能)

カレンダー

04 2024/05 06
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 31

フリーエリア

最新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