プログラミングメモスマートフォン用の表示で見るプログラミングメモこの広告は、90日以上更新していないブログに表示しています。STL述語を純粋関数にしよう述語とは、bool(または暗黙的にboolに変換できる値)を返す関数です。find_ifなどさまざまなアルゴリズムに引数として渡せます。純粋関数は、戻り値がパラメータだけにしか依存しない関数です。remove_ifに非純粋述語クラスを渡すことを考えます。//3回目の呼び出しにtrueを返す。//3番めの要素だけを削除させたいeraseとremove_ifの呼び出しで3番めの要素だけを削除しようとしたコードですが、6番目の要素も削除される可能性が高いです。原因は、remove_ifが下のように実装されていることが多いからです。}}remove_ifの内部でremove_copy_ifを呼び出しています。この時、pを値渡しするため、コンストラクタが呼び出されtimesCalledが0になり、6番目の要素も削除されてしまいます。対策は、述語を純粋関数にすることです。(7)月別アーカイブはてなブログをはじめよう!skru_yさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。