Delphi 与 C/C++ 数据类型对照表(最新的tokyo)
更新,下面这table为最新的tokyo基本数据类型与C++的对照关系:
Delphi to C++ types mapping
Go Up to Support for Delphi Data Types and Language Concepts
Below is a list of Delphi data types and the corresponding C++ data types:
Delphi type | defined in sysmac.h | Platform | Corresponding C++ type |
---|---|---|---|
Boolean |
bool | ||
ShortInt |
System::Int8 |
signed char | |
SmallInt |
short | ||
Integer |
int | ||
Int64 |
__int64 | ||
Byte |
System::Byte |
unsigned char | |
Word |
System::Word |
unsigned short | |
Cardinal |
unsigned | ||
UInt64 |
unsigned __int64 | ||
NativeInt | System::NativeInt | 32-bit platforms | int |
64-bit Windows | __int64 | ||
64-bit iOS 64-bit Linux |
long | ||
NativeUInt | System::NativeUInt | 32-bit platforms | unsigned int |
64-bit Windows | unsigned __int64 | ||
64-bit iOS 64-bit Linux |
unsigned long | ||
LongInt | 32-bit platforms 64-bit Windows |
int | |
64-bit iOS 64-bit Linux |
long | ||
LongWord | 32-bit platforms 64-bit Windows |
unsigned | |
64-bit iOS 64-bit Linux |
unsigned long | ||
FixedInt |
int | ||
FixedUInt |
unsigned int | ||
Single |
float | ||
Double |
double | ||
Extended |
System::Extended |
long double | |
Currency |
System::Currency, System::CurrencyBase |
||
Comp |
System::Comp, System::CompBase |
||
Real |
double | ||
ShortString |
System::ShortString, System::ShortStringBase |
||
OpenString |
System::OpenString |
char* const | |
String | System::UnicodeString | ||
WideString | System::WideString | ||
AnsiChar | char | ||
Char | System::WideChar | Windows platforms | wchar_t |
Posix platforms | char16_t | ||
WideChar | System::WideChar | Windows platforms | wchar_t |
Posix platforms | char16_t | ||
File |
System::file |
||
Text |
System::TextFile |
||
ByteBool |
System::ByteBool |
unsigned char | |
WordBool |
System::WordBool |
unsigned short | |
LongBool |
System::LongBool |
int | |
Real48 |
not supported in C++ |
||
Pointer |
void* | ||
PWideChar |
System::WideChar* |
Windows platforms | wchar_t* |
Posix platforms | char16_t* | ||
PAnsiChar |
char* | ||
Variant |
System::Variant defined in sysvari.h |
||
OleVariant |
System::OleVariant defined in sysvari.h |
- Note: 32-bit platforms include 32-bit Windows, 32-bit macOS, 32-bit iOS, and Android.
POSIX platforms include macOS, iOS, iOS-simulator, Android, and Linux.
Delphi | 数据类型 | C/C++ |
---|---|---|
ShorInt | 8位有符号整数 | char |
Byte | 8位无符号整数 | BYTE,unsigned short |
SmallInt | 16位有符号整数 | short |
Word | 16位无符号整数 | unsigned short |
Integer,LongInt | 32位有符号整数 | int,long |
Cardinal,LongWord/DWORD | 32位无符号整数 | unsigned long |
Int64 | 64位有符号整数 | _int64 |
Single | 4字节浮点数 | float |
*Real48 | 6字节浮点数 | |
Double | 8字节浮点数 | double |
*Extended | 10字节浮点数 | long double |
Currency | 64位货币类型 | |
TDate/TDateTime | 8字节日期/时间 | |
Variant,OleVariant | 16字节可变类型 | VARIANT,^Variant,^OleVariant |
Char,AnsiChar | 1字节字符 | char |
WideChar | 2字节字符 | WCHAR |
*ShortString | 短字符串 | |
AnsiString/String | 长字符串 | ^AnsiString |
WideString | 宽字符串 | ^WideString |
PChar,PAnsiChar | NULL结束的字符串 | char* |
PWideChar | NULL结束的宽字符串 | LPCWSTR |
Boolean,ByteBool | 1字节布尔类型 | 任何1字节 |
WordBool | 2字节布尔类型 | 任何2字节 |
BOOL,LongBool | 4字节布尔类型 | BOOL |
注:有*前缀的是向前兼容类型;有^前缀的是C++Builder特有类型。 |
C/C++ | Delphi |
---|---|
ABC | TABC |
ACCEL | TAccel |
ATOM | TAtom |
BITMAP | TBitMap |
BITMAPCOREHEADER | TBitmapCoreHeader |
BITMAPCOREINFO | TBitmapCoreInfo |
BITMAPFILEHEADER | TBitmapFileHeader |
BITMAPINFO | TBitmapInfo |
BITMAPINFOHEADER | TBitmapInfoHeader |
BOOL | Bool |
CBT_CREATEWND | TCBT_CreateWnd |
CBTACTIVATESTRUCT | TCBTActivateStruct |
CHAR | Char |
CHAR* | PChar |
CLIENTCREATESTRUCT | TClientCreateStruct |
COLORREF | TColorRef |
COMPAREITEMSTRUCT | TCompareItemStruct |
COMSTAT | TComStat |
CREATESTRUCT | TCreateStruct |
CTLINFO | TCtlInfo |
CTLSTYLE | TCtlStyle |
CTLtype | TCtltype |
DCB | TDCB |
DDEAACK | TDDEAck |
DDEADVISE | TDDEAdvise |
DDEDATA | TDDEData |
DDEPOKE | TDDEPoke |
DEBUGHOOKINFO | TDebugHookInfo |
DELETEITEMSTRUCT | TDeleteItemStruct |
DEVMODE | TDevMode |
DOUBLE | Double |
DRAWITEMSTRUCT | TDrawItemStruct |
DWORD | LongInt |
ENUMLOGFONT | TEnumLogFont |
EVENTMSG | TEventMsg |
FARPROC | TFarProc |
FIXED | TFixed |
FLOAT | Single |
GLYPHMETRICS | TGlyphMetrics |
HANDLE | THandle |
HANDLETABLE | THandleTable |
HARDWAREHOOKSTRUCT | THardwareHookStruct |
HELPWININFO | THelpWinInfo |
INT | Integer |
KERNINGPAIR | TKerningPair |
LOGBRUSH | TLogBrush |
LOGFONT | TLogFont |
LOGPALETTE | TLogPalette |
LOGPEN | TLogPen |
LONG | LongInt |
LONG DOUBLE | Extended |
LONG INT | LongInt |
LPSTR | PChar |
LPWSTR | PWideChar |
MAT2 | TMat2 |
MDICREATESTRUCT | TMDICreateStruct |
MEASUREITEMSTRUCT | TMeasureItemStruct |
MENUITEMTEMPLATE | TMenuItemTemplate |
MENUITEMTEMPLATEHEADER | TMenuItemTemplateHeader |
METAFILEPICT | TMetaFilePict |
METAHEADER | TMetaHeader |
METARECORD | TMetaRecord |
MINMAXINFO | TMinMaxInfo |
MOUSEHOOKSTRUCT | TMouseHookStruct |
MSG | TMsg |
MULTIKEYHELP | TMultiKeyHelp |
NCCALCSIZE_PARAMS | TNCCalcSize_Params |
NEWTEXTMETRIC | TNewTextMetric |
OFSTRUCT | TOFStruct |
OUTLINETEXTMETRIC | TOutlineTextMetric |
PAINTSTRUCT | TPaintStruct |
PALETTEENTRY | TPaletteEntry |
PANOSE | TPanose |
PATTERN | TPattern |
POINTFX | TPointFX |
PSTR | PChar |
PWSTR | PWideChar |
RASTERIZER_STATUS | TRasterizer_Status |
RGBQUAD | TRGBQuad |
RGBTRIPLE | TRGBTriple |
SEGINFO | TSegInfo |
SHORT | SmallInt |
SHORT INT | SmallInt |
SIZE | TSize |
TEXTMETRIC | TTextMetric |
TPOINT | TPoint |
TRECT | TRect |
TTPOLYCURVE | TTTPolyCurve |
TTPOLYGONHEADER | TPolygonHeader |
UINT | Word |
UNSIGNED | Word |
UNSIGNED CHAR | Byte |
UNSIGNED INT | Word |
UNSIGNED LONG | LongInt(DWORD) |
UNSIGNED LONG INT | LongInt |
UNSIGNED SHORT | Word |
UNSIGNED SHORT INT | Word |
VOID* | Pointer |
WINDOWPLACEMENT | TWindowPlacement |
WINDOWPOS | TWindowPos |
WNDCLASS | TWndClass |
WORD | Word |