DIDE。ディレクトリ分けてても、同じファイル名が2つあると両方同時には開けない。自分の書いた方のファイル名変えれば別に問題はないけど。

vectorクラス(ベクトルの方)書いてたんだけど、D言語の構造体ってコンストラクタ使えないのか。yaneSDK4D見てみたけどコンストラクタは書かれてるけどコメントアウトされてる。代わりにsetで値を設定するみたい。
だけどベクトル使うのに一々
vec3 v;
v.set(2,3,1);
ってやるのは面倒そう。特に引数として一度に生成して渡せないのが。
classにすれば当然コンストラクタは使えるけどnew vec3(4,3,5)って書かなきゃいけない。それにベクトルみたいに頻繁に生成する物を一々newすると遅いんでは、って問題が。

何かこういうときに使える構文ってないんだろうか。普通にvec3(0,0,0)って書きたい・・・Dで構造体にコンストラクタ書けない理由って何なんだろう?



追記:
最近Dのメーリングリストはあんま見てなかった。過去ログ、structのconstructorについて話題になってる所を探してみた結果。
4月の15日に同じくベクトルクラスのコンストラクタに付いて悩んでる人が。
http://www.digitalmars.com/drn-bin/wwwnews?D/27531
http://www.digitalmars.com/drn-bin/wwwnews?D/27535
この中でstructがコンストラクタを使えないことの解決策として演算子()をstaticで


これの元の話は3月10日辺りのスレッドhttp://www.digitalmars.com/d/archives/25334.htmlで出てきたみたい。