関数型プログラミング言語Haskell Part34 (694レス)
上下前次1-新
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
692: 10/10(金)20:26 ID:OD0KmsJp(1) AAS
【移民】 は努力もせずに日本の豊かさを手に入れる
2chスレ:kankon
693: 10/11(土)22:42 ID:pZv0dAV3(1/2) AAS
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: 10/11(土)22:43 ID:pZv0dAV3(2/2) AAS
C++で書いてみた。
今回は値渡しにしたけど、本当に最適化でコピーにならないようにできるのかな…。
そもそもどうやってそれを確認するんだろう?
本当なら参照渡しがほぼ要らなくなるけど。
そして、例によって参照渡しだと>>668やコードこそ書いてないがCで一般的な>>677のカッコ内に書いた(通常、それを避けるために結果を格納するためのポインタを引数で渡す)になる。
コードにするとこう。
(Haskellerなのでmapにしたけど、C++だとmapって連想配列なのね。失敗した…)
void map(vector<int>* input, vector<int>* output);
配列と比べて長さを引数に渡さないで良くなるのと、realocしなくても長さを変更できる点が進化しているが。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.006s