Fundamental types (C++/CX)
In addition to the standard C++ built-in types, C++/CX supports the type system that's defined by the Windows Runtime architecture by providing typedefs for the Windows Runtime fundamental types that map to standard C++ types.. C++/CX implements Boolean, character, and numeric fundamental types. These typedefs are defined in the default
namespace, which never needs to be specified explicitly. In addition, C++/CX provides wrappers and concrete implementations for certain Windows Runtime types and interfaces.
Boolean and Character Types
The following table lists the built-in Boolean and character types, and their standard C++ equivalents.
Namespace | C++/CX name | Definition | Standard C++ name | Range of Values |
---|---|---|---|---|
Platform | Boolean | An 8-bit Boolean value. | bool | true (nonzero) and false (zero) |
default | char16 | A 16-bit non-numeric value that represents a Unicode (UTF-16) code point. | wchar_t -or- L'c' |
(Specified by the Unicode standard) |
Numeric types
The following table lists the built-in numeric types. The numeric types are declared in the default
namespace and are typedefs for the corresponding C++ built-in type. Not all C++ built-in types (long, for example) are supported in the Windows Runtime. For consistency and clarity, we recommend that you use the C++/CX name.
C++/CX name | Definition | Standard C++ name | Range of Values |
---|---|---|---|
int8 | An 8-bit signed numeric value. | signed char | -128 through 127 |
uint8 | An 8-bit unsigned numeric value. | unsigned char | 0 through 255 |
int16 | A 16-bit signed integer. | short | -32,768 through 32,767 |
uint16 | A 16-bit unsigned integer. | unsigned short | 0 through 65,535 |
int32 | A 32-bit signed integer. | int | -2,147,483,648 through 2,147,483,647 |
uint32 | A 32-bit unsigned integer. | unsigned int | 0 through 4,294,967,295 |
int64 | A 64-bit signed integer. | long long -or- __int64 | -9,223,372,036,854, 775,808 through 9,223,372,036,854,775,807 |
uint64 | A 64-bit unsigned integer. | unsigned long long -or- unsigned __int64 | 0 through 18,446,744,073,709,551,615 |
float32 | A 32-bit IEEE 754 floating-point number. | float | 3.4E +/- 38 (7 digits) |
float64 | A 64-bit IEEE 754 floating-point number. | double | 1.7E +/- 308 (15 digits) |
Windows Runtime Types
The following table lists some additional types that are defined by the Windows Runtime architecture and are built into C++/CX. Object and String are reference types. The others are value types. All of these types are declared in the Platform
namespace. For a full list, see Platform namespace.
Name | Definition |
---|---|
Object | Represents any Windows Runtime type. |
String | A series of characters that represent text. |
Rect | A set of four floating-point numbers that represent the location and size of a rectangle. |
SizeT | An ordered pair of floating-point numbers that specify a height and width. |
Point | An ordered pair of floating-point x-coordinates and y-coordinates that define a point in a two-dimensional plane. |
Guid | A 128-bit non-numeric value that is used as a unique identifier. |
UIntPtr | (For internal use only.) An unsigned 64-bit value that is used as a pointer. |
IntPtr | (For internal use only.) A signed 64-bit value that is used as a pointer. |