「Dげんご 2.0」の編集履歴(バックアップ)一覧はこちら
「Dげんご 2.0」(2009/02/24 (火) 23:26:11) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*データ型
**基本データ型
|キーワード|内容|デフォルト|
|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|
**派生データ型
-ポインタ
-配列(stringを含む)
-集約配列(associative array)
-関数
-デレゲート(delegate)
**ユーザ定義型
-エリアス(alias)
-型定義(typedef)
-enum
-構造体(struct)
-共用体(union)
-クラス(class)
**基底型
enumの基底型は,以下のように指定する.
|enum E : T {...} // TはEの基底型|
typedefの基底型は,以下のように指定する.
|typedef T U ; // TはUの基底型|
**ポインタの型変換
D言語では,ポインタから非ポインタ,または非ポインタからポインタへのキャストが可能である.ただし,ポインタをガベージコレクタで割り当てられたデータへのキャストはできない.
**暗黙の型変換
必要に応じて,自動的に暗黙の型変換が適用される.
明示的な型変換が必要な場合を除き,typedefとenumのその基底型への変換は暗黙的におこなわれる.
*データ型
**基本データ型
|キーワード|内容|デフォルト|
|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|
**派生データ型
-ポインタ
-配列(stringを含む)
-集約配列(associative array)
-関数
-デレゲート(delegate)
**ユーザ定義型
-エリアス(alias)
-型定義(typedef)
-enum
-構造体(struct)
-共用体(union)
-クラス(class)
**基底型
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 ;
----
----