[過去ログ] 「数学」をプログラミングするには (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
70
(3): 2024/03/23(土)12:47 ID:g/HfMmmn(2/9) AAS
>>69
機械語に識別子はないからできないだろ。Cでは長さnの配列aの各要素に関数fを適用した結果を
配列bに格納する関数 map(f, a, n, b) を簡単に自作できる。
72
(4): 2024/03/23(土)14:11 ID:O64Y227M(2/5) AAS
>>70
普通mapは配列に対してではなく
もっと一般的にイテレータに対して適用
結果もイテレータとする

その結果を例えばfor文で使う場合
わざわざ結果を配列に入れても無意味だったことになるからだ
mapを多段にした使った場合も同様で中間結果配列は無意味になる
だからmapの入力も出力もイテレータが使われる
84
(1): 2024/03/23(土)22:23 ID:g/HfMmmn(7/9) AAS
>>83
>>74はごっちゃにしているようだが。

反復子を使っても遅延評価をしなければ、mapを多段に使った場合の効率は良くならない。
例えば、C++ STLのtransformがそう。

>>70のような配列のmap関数でも、引数fとして複数の関数の合成関数のポインタを渡せば、
効率は良くなる。あるいは、引数fとして関数ポインタの配列を受け入れるようなmap関数を
書いても良い。
85: 2024/03/23(土)22:27 ID:g/HfMmmn(8/9) AAS
>>83
>>74はごっちゃにしているようだが。

反復子を使っても遅延評価をしなければ、mapを多段に使った場合の効率は良くならない。
例えば、C++ STLのtransformがそう。

>>70のような配列のmap関数でも、引数fとして複数の関数の合成関数のポインタを渡せば、
効率は良くなる。あるいは、引数fとして関数ポインタの配列を受け入れるようなmap関数を
書いても良い。

そもそもCでmap関数を書けるかという話だから、書けるという回答で何の問題ないだろ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.046s