System.NativeInt

De RAD Studio API Documentation
Aller à : navigation, rechercher

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 de 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++.

Depuis RAD Studio 12.0, NativeInt devient un alias faible dans le compilateur Delphi, ce qui signifie qu'il ne peut plus être utilisé comme un type distinct. Il peut être utilisé à la place des deux types équivalents, mais vous ne pouvez pas surcharger les méthodes utilisant à la fois NativeInt et l'un des types natifs correspondants, car cela générera une erreur.

Remarque: Pour éviter toute ambiguïté, les conversions doivent être explicites, comme 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

Voir aussi