基本类型 (C++/CX)
除了标准 C++ 内置类型之外,C++/CX 还通过为映射到标准 C++ 类型的 Windows 运行时基本类型提供 typedef,来支持 Windows 运行时体系结构定义的类型系统。 C++/CX 实现了布尔值、字符和数值基本类型。 这些 typedef 在永远不需要显式指定的 default
命名空间中进行定义。 此外,C++/CX 为某些 Windows 运行时类型和接口提供了包装器和具体实现。
布尔值和字符类型
下表列出了内置布尔值和字符类型及其的标准 C++ 等效项。
命名空间 | C++/CX 名称 | 定义 | 标准 C++ 名称 | 值的范围 |
---|---|---|---|---|
平台 | 布尔 | 8 位布尔值。 | bool | true (非零)和 false (零) |
default | char16 | 表示 Unicode (UTF-16) 码位的 16 位非数字值。 | wchar_t - 或者 - L'c' |
(由 Unicode 标准指定) |
数字类型
下表列出了内置数值类型。 数值类型在 default
命名空间中进行声明,是用于对应 C++ 内置类型的 typedef。 并非所有的 C++ 内置类型(例如 long)都在 Windows 运行时中受支持。 为了保持一致并简单明了,建议使用 C++/CX 名称。
C++/CX 名称 | 定义 | 标准 C++ 名称 | 值的范围 |
---|---|---|---|
int8 | 8 位带符号数值。 | 带符号字符 | -128 到 127 |
uint8 | 8 位无符号数值。 | unsigned char | 0 到 255 |
int16 | 16 位带符号整数。 | short | –32,768 到 32,767 |
uint16 | 16 位无符号整数。 | unsigned short | 0 到 65,535 |
int32 | 32 位带符号整数。 | int | -2,147,483,648 到 2,147,483,647 |
uint32 | 32 位无符号整数。 | unsigned int | 0 到 4,294,967,295 |
int64 | 64 位带符号整数。 | long long -或- __int64 | -9,223,372,036,854, 775,808 到 9,223,372,036,854,775,807 |
uint64 | 64 位无符号整数。 | unsigned long long -或- unsigned __int64 | 0 到 18,446,744,073,709,551,615 |
float32 | 32 位 IEEE 754 浮点数。 | float | 3.4E +/- 38(7 位数) |
float64 | 64 位 IEEE 754 浮点数。 | Double | 1.7E +/- 308(15 位数) |
Windows 运行时类型
下表列出了由 Windows 运行时体系结构定义并内置在 C++/CX 中的一些其他类型。 Object 和 String 是引用类型。 其他类型是值类型。 所有这些类型都在 Platform
命名空间中进行声明。 有关完整列表,请参见 Platform namespace。
名称 | 定义 |
---|---|
对象 | 表示任何 Windows 运行时类型。 |
字符串 | 一系列表示文本的字符。 |
Rect | 一组浮点数,共四个,表示一个矩形的位置和大小。 |
SizeT | 指定高度和宽度的一对有序浮点数。 |
Point | 定义二维平面中的点的一对有序浮点 x 坐标和 y 坐标。 |
Guid | 用作唯一标识符的 128 位非数字值。 |
UIntPtr | (仅供内部使用。)用作指针的 64 位无符号值。 |
IntPtr | (仅供内部使用。)用作指针的 64 位带符号值。 |