2020-10-13 C++使うなら最低限STLくらいは知らないといけないだろうということで勉強中です。 STLくらいっていうけど結構ここから険しい道の入口なんですけどね…。 他の言語に比べて気持ち悪いシンタックスが増えるし、 どういうわけか覚えにくい……なんでだろ。 そんなわけでSTLのアルゴリズムの入門編です。 関数オブジェクトです。コールバック関数のように使えて、 アルゴリズムに渡します。 アルゴリズムにはtransformとかcount_ifとかremove_ifとかequalとかいろいろあります。 関数オブジェクトの定義はoperator()が定義(オーバーロード)されているオブジェクトのことです。 今回は1つの引数を受け取る単項関数オブジェクトのかわりにラムダを突っ込みます C++11以前は単項関数オブジェクトを作るのに、 unary_functionというものを継承するという