21/12/17 12:57:26.37 NPioGyUL.net
関数型プログラミング言語 Haskell について語るスレです。
Haskell Language(公式サイト)
URLリンク(www.haskell.org)
日本Haskellユーザーグループ - Haskell-jp
URLリンク(haskell.jp)
前スレ
関数型プログラミング言語Haskell Part33
スレリンク(tech板)
692:デフォルトの名無しさん
25/10/10 20:26:02.07 OD0KmsJp.net
【移民】 は努力もせずに日本の豊かさを手に入れる
スレリンク(kankon板)
URLリンク(o.5ch.net)
693:デフォルトの名無しさん
25/10/11 22:42:46.58 pZv0dAV3.net
22 template <typename T>
23 vector<T> map(function<T(T)> f, const vector<T> arr){
24 vector<T> temp;
25 for(auto i : arr) temp.push_back(f(i));
26 return temp;
27 }
694:デフォルトの名無しさん
25/10/11 22:43:04.64 pZv0dAV3.net
C++で書いてみた。
今回は値渡しにしたけど、本当に最適化でコピーにならないようにできるのかな…。
そもそもどうやってそれを確認するんだろう?
本当なら参照渡しがほぼ要らなくなるけど。
そして、例によって参照渡しだと>>668やコードこそ書いてないがCで一般的な>>677のカッコ内に書いた(通常、それを避けるために結果を格納するためのポインタを引数で渡す)になる。
コードにするとこう。
(Haskellerなのでmapにしたけど、C++だとmapって連想配列なのね。失敗した…)
void map(vector<int>* input, vector<int>* output);
配列と比べて長さを引数に渡さないで良くなるのと、realocしなくても長さを変更できる点が進化しているが。