エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
std::vectorのようなSTLコンテナの各要素に対して関数を適用した結果を簡単に書きたい. Perlでいうとこ... std::vectorのようなSTLコンテナの各要素に対して関数を適用した結果を簡単に書きたい. Perlでいうところのこんなイメージ. my @list = (1.0, 1.5, 2.0, 2.5); my @exp_list = map { exp($_) } @list; C++ではどう書くのだろう? STLで対応する関数が用意されているだろうなぁと思って手書きしていたので,今回ちゃんと調べてみたので自分用メモ. 結論からいえば,std::transform (algorithmヘッダ) を利用すればよい.ただし,最後の引数が関数オブジェクトである必要があるので,そのままではstd::expのような関数ポインタを利用できない.そこでstd::ptr_fun (functionalヘッダ) という関数アダプタ (と呼ばれるもの) を利用する.C++使いには常識なのだろうけれど,今日初め