System.NativeInt
Delphi
type NativeInt = { built-in type };
C++
typedef int NativeInt; //
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
type typedef |
public | System.pas sysmac.h |
System | System |
Description
Définit un entier signé dépendant de la plate-forme.
NativeInt représente un sous-ensemble des nombres entiers. L'intervalle de NativeInt dépend de la plate-forme en cours. Sur les plates-formes 32 bits, NativeInt est équivalent au type Integer. Sur les plates-formes 64 bits, NativeInt est équivalent au type Int64.
La taille de NativeInt est équivalente à la taille du pointeur sur la plate-forme en cours.
Les versions précédentes de Delphi mappaient les types intégrés tels que NativeInt, NativeUInt, ByteBool, WordBool, LongBool en types intégrés C++. Les versions les plus récentes de Delphi gèrent ces types comme des alias forts. Pour être compatible avec ce changement, C++ créera aussi des alias forts en utilisant un wrapper de classe.
Remarque : Pour éviter toute ambiguïté, les conversions doivent être explicites, comme illustré dans l'exemple de code suivant.
NativeInt ni = 100; //Wrong. Will issue an Error
NativeInt ni = NativeInt(100); //Correct
System::GetMemory(0x100); // Error
System::GetMemory(NativeInt(0x100)); //Correct