キーワード | 内容 | デフォルト |
void | void型 | - |
bool | 2値 | false |
byte | 符号付き8ビット | 0 |
ubyte | 符号なし8ビット | 0 |
short | 符号付き16ビット | 0 |
ushort | 符号なし16ビット | 0 |
int | 符号付き32ビット | 0 |
uint | 符号なし32ビット | 0 |
long | 符号付き64ビット | 0 |
ulong | 符号なし64ビット | 0 |
cent | 符号付き128ビット | 0 |
ucent | 符号なし128ビット | 0 |
float | 32ビット浮動小数点数 | float.nan |
double | 64ビット浮動小数点数 | double.nan |
real | マシン依存最大サイズの浮動小数点数 | real.nan |
ifloat | 虚数float | float.nan*1.0i |
idouble | 虚数double | double.nan*1.0i |
ireal | 虚数real | real.nan*1.0i |
cfloat | 複素数float | float.nan+float.nan*1.0i |
cdouble | 複素数double | double.nan+double.nan*1.0i |
creal | 複素数real | real.nan+real.nan*1.0i |
char | 符号なし8ビットUTF-8 | 0xFF |
wchar | 符号なし16ビットUTF-16 | 0xFFFF |
dchar | 符号なし32ビットUTF-32 | 0x0000FFFF |
enumの基底型は,以下のように指定する.
enum E : T {...} // TはEの基底型
typedefの基底型は,以下のように指定する.
typedef T U ; // TはUの基底型
D言語では,ポインタから非ポインタ,または非ポインタからポインタへのキャストが可能である.ただし,ポインタをガベージコレクタで割り当てられたデータへのキャストはできない.
必要に応じて,自動的に暗黙の型変換が適用される. 明示的な型変換が必要な場合を除き,typedefとenumのその基底型への変換は暗黙的におこなわれる.
typedef int maint ; int i ; myint m ; i = m ; m = i ; // ERROR m = cast(myint)i ; m = 3 ;
enum Foo {E} Foo f ; i = f ; f = i ; // ERROR f = cast(Foo)i ; f = 0 ; // ERROR f = E ;