In addition to the standard C++ built-in types, Visual C++ component extensions (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.
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) |
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) |
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 (C++/CX).
|
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. |