System.NativeInt
Delphi
type NativeInt = { built-in type };
C++
typedef int NativeInt; //
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
type typedef |
public | System.pas sysmac.h |
System | System |
説明
プラットフォームに依存する符号付き整数を定義したものです。
NativeInt は整数の部分集合を表します。 NativeInt の範囲は、現在のプラットフォームによって変わります。 32 ビット プラットフォームでは、NativeInt は Integer 型と同等です。64 ビット プラットフォームでは、NativeInt は Int64 型と同等です。
NativeInt のサイズは、使用しているプラットフォームのポインタのサイズと同じです。
Delphi の以前のバージョンでは、NativeInt、NativeUInt、ByteBool、WordBool、LongBool などの組み込み型を、C++ の組み込み型にマッピングしていました。
RAD Studio 12.0 以降、Delphi コンパイラでは、NativeInt は弱いエイリアスになり、別の型として使用できなくなりました。これは上記 2 つの対応するものの代わりに使用できますが、NativeInt および、一致するネイティブ型のいずれかの両方を使用してメソッドをオーバーロードすることはできません。これはエラーが発生するためです。
メモ: あいまいさを避けるために、次のコード例のように、変換は明示的に行う必要があります:
NativeInt ni = 100; //Wrong. Will issue an Error
NativeInt ni = NativeInt(100); //Correct
System::GetMemory(0x100); // Error
System::GetMemory(NativeInt(0x100)); //Correct