D言語のtypedef
D言語にはaliasとtypedefがあって,CやC++のtypedefはaliasとなっています.じゃあtypedefは何かというともっと強いもので,違う型を定義します.
typedef int NewType;
これは一つの売りだったわけですが,もうdeprecatedなものになっています.理由は代替機能がいくつかあったからで,コメントでSHOOさんが書いてるenumやalias thisを使って
struct NewType { int value; alias value this; }
とかやれば同じようにsubtyping出来ちゃうわけです.後なんか色々理由があった気がするけど,それは昔の「typedef消すよ」スレッドを見てください.ということで,今からD言語使う人はtypedefは使わないようにしましょう.A先生に怒られますよ!