dragonetの日記: バカの壁(いや読んだことないけど)
日記 by
dragonet
★共有体は思考の枠組みから外れている事が多かったのだけど
yacc/lexでうまいこと使われているのを見て考えをを改めた。
んで考えを進めていくと状態変数 + 共有体をもった構造体を作って、
可変長引数の操作関数に投げ込めば、
インタフェイスが統一できると再発見した。
(状態変数を使うのは古典的なTIPSだと思うが流していた)
「整数と文字列の辞書」「文字列2つの辞書」って
作ってたのが「共有体入り構造体2つの辞書」に統一できる。
文字列ってもcharポインタにしとかないとコストが高すぎるが。
引数の型を明示的に指定する必要がある関数も多いのが玉に傷。
「真実」が2つあると実行時エラーが起こる可能性が飛躍的に高まってしまう。
まぁそれはprintfと同じと考えるしかないか。
引数の型が関数内で分かればよいのであるが。
# そもそもオーバーロードやテンプレートが使えれば……。
# こういうのって内部的には単純置換そのものなのだが、
# だからこそコンパイラに任せるべき仕事だと思う。
知っていた事なのに選択肢にすら浮かばなかったのが悔しいなぁ。
他にもたくさんあるんだろうが、やっかいな事に
枠組みから外れてしまっている事なのだから認識できるわけもないか。
バカの壁(いや読んだことないけど) More ログイン