Dをつつく5ーシステム型ー素粒子をみよう。
void ・・・形なし
bool ・・・ブール値
byte・・・符号付き 8bit
ubyte・・・符号なし 8bit
short ・・・符号付き 16bit
ushort・・・符号なし 16bit
int・・・符号付き 32bit
uint・・・符号なし 32bit
long・・・符号付き 64bit
ulong・・・符号なし 64bit
cent・・・符号付き 128bit (将来のために予約)
ucent・・・符号なし 128bit (将来のために予約)
float・・・32bit 浮動小数点数
double・・・64bit 浮動小数点数
real ・・・ハードウェアのサポートする最大の浮動小数点数 (実装メモ: IntelのCPUでは80bit)
ifloat・・・float の虚数型
idouble・・・double の虚数型
ireal・・・real の虚数型
cfloat・・・2つのloatで表現された複素数
cdouble・・・double の複素数
creal・・・real の複素数
char・・・符号なし 8 bit UTF-8 文字
wchar・・・符号なし 16bit UTF-16 文字
dchar・・・符号なし 32bit UTF-32 文字
凄い数のシステム型だよね。 マニュアルにC99規格に準拠する型全てを採用したって書いてある。 さすが新しい言語、凄いピヨね。 複素数とマルチバイト文字をサポートしている ところが新しさを匂わすね。 これでも十分凄いけど、D言語はそれに飽き足らず、システム型をより扱いやすくしているんだ。
最初に気付いたのは型のサイズを取得する方法が違う事ピヨ。 C言語ではsizeof(型名)で取得するけど、 D言語では型名.sizeofなんだ。 よりオブジェクト指向らしくなったよね。
次に気付いた違いは型の最大・最小値を取得する方法が違う事ピヨ。 C言語ではCHAR_MAXとかCHAR_MINのようなマクロだったけど、 D言語では型名.maxとか型名.min のようになっているんだ。 これもオブジェクト指向を感じさせる機能ピヨね。 これは.NETに似ているよね。
システム型についてはこれでお終い。まったねー。