[1254] Re:状況(日記?)
投稿者:(ぱ)こと管理人
2009/05/09 02:35:53
世間では連休で私も会社は休みだったはずですが何かとどたばたしてまして
お返事が遅れましてすみません。
> ちなみに、test.dkmで最高6800ぐらいnewします。
これで速度低下しないかと心配して、crowbarやDiksamではMEMモジュールを作って
MEM_storage_malloc()を使ったのですが、C++でクラスを使おうとすると単純に
置き換えはできませんね(newのオーバーロードで置き換えはできますが、私には、
演算子のオーバーロード自体相当に腰が引けます。boostのように、汎用的で
一般的に知られたライブラリを使うのなら、だいぶ軽減されると思いますけど)。
ところで、DiksamをC++で書き直し、fix_tree.cppでたくさんnewが起きるということは、
DiksamでのExpressionやStatementの構造体をクラスにしておられるのだと思いますが、
これはやっぱり、fix_tree.cppではfix()、generate.cppではgenerate()という
メンバ関数を作って、クラスごとにポリモルフィズムで呼び出しているのでしょうか?
オブジェクト指向の教科書にはそう書いてありますが、実際にやってみると
クラスごとに細かい制御ができなかったりモデルにロジックが侵食したりして
あまりうまくいかない、と経験上思っておりますので。