Referencia rápida (C++/CX)Quick Reference (C++/CX)

El tiempo de ejecución de Windows es compatible con aplicaciones de plataforma Universal de Windows (UWP) que solo se ejecutan en un entorno de sistema operativo de confianza, usan funciones, tipos de datos y dispositivos autorizados y se distribuyen a través de Microsoft Store.The Windows Runtime supports Universal Windows Platform (UWP) apps that execute only in a trustworthy operating system environment, use authorized functions, data types, and devices, and are distributed through the Microsoft Store. C++ / CX simplifican la escritura de aplicaciones de Windows en tiempo de ejecución.The C++/CX simplify the writing of apps for the Windows Runtime. En este artículo es una referencia rápida; Para obtener la documentación completa, vea sistema de tipos y extensiones de componentes para plataformas de tiempo de ejecución.This article is a quick reference; for more complete documentation, see Type System and Component Extensions for Runtime Platforms.

Al compilar en la línea de comandos, utilice la /ZW opción del compilador para compilar una aplicación de UWP o un componente de Windows en tiempo de ejecución.When you build on the command line, use the /ZW compiler option to build a UWP app or Windows Runtime component. Para obtener acceso a las declaraciones de en tiempo de ejecución de Windows, que se definen en los archivos de metadatos (.winmd) en tiempo de ejecución de Windows, especifique la #using directiva o la /FU opción del compilador.To access Windows Runtime declarations, which are defined in the Windows Runtime metadata (.winmd) files, specify the #using directive or the /FU compiler option. Cuando se crea un proyecto para una aplicación UWP, Visual Studio de forma predeterminada establece estas opciones y agrega las referencias a todas las bibliotecas en tiempo de ejecución de Windows.When you create a project for a UWP app, Visual Studio by default sets these options and adds references to all Windows Runtime libraries.

Referencia rápidaQuick reference

ConceptoConcept Standard C++Standard C++ C++/CXC++/CX ComentariosRemarks
Tipos fundamentalesFundamental types Tipos fundamentales de C++.C++ fundamental types. C++ / tipos fundamentales CX que implementan tipos fundamentales que se definen en el tiempo de ejecución de Windows.C++/CX fundamental types that implement fundamental types that are defined in the Windows Runtime. El default contiene el espacio de nombres de C++ / CX tipos fundamentales integrados.The default namespace contains C++/CX built-in, fundamental types. El compilador asigna implícitamente C++ / tipos fundamentales de CX para tipos de C++ estándar.The compiler implicitly maps C++/CX fundamental types to standard C++ types.

El Platform familia de espacios de nombres contiene tipos que implementan tipos fundamentales de Windows en tiempo de ejecución.The Platform family of namespaces contains types that implement fundamental Windows Runtime types.
bool bool Un valor booleano de 8 bits.An 8-bit Boolean value.
__wchar_t char16 Un valor no numérico de 16 bits que representa un punto de código Unicode (UTF-16).A 16-bit nonnumeric value that represents a Unicode (UTF-16) code point.
short

unsigned short
int16

uint16
Entero de 16 bits con signo.A 16-bit signed integer.

Entero de 16 bits sin signo.A 16-bit unsigned integer.
int

unsigned int
int

uint32
Entero de 32 bits con signo.A 32-bit signed integer.

Entero de 32 bits sin signo.A 32-bit unsigned integer.
long long O bien __int64long long -or- __int64

unsigned long long
int64

uint64
Entero de 64 bits con signo.A 64-bit signed integer.

Entero de 64 bits sin signo.A 64-bit unsigned integer.
float, double float32, float64 Un número de punto flotante de 32 bits o 64 bits conforme a IEEE 754.A 32-bit or 64-bit IEEE 754 floating-point number.
enum {} enum class {}

-o bien--or-

enum struct {}
Una enumeración de 32 bits.A 32-bit enumeration.
(No procede)(Does not apply) Platform::Guid Un valor no numérico de 128 bits (GUID) en el espacio de nombres Platform .A 128-bit nonnumeric value (a GUID) in the Platform namespace.
std::time_get Windows::Foundation::DateTime Una estructura de fecha y hora.A date-time structure.
(No procede)(Does not apply) Windows::Foundation::TimeSpan Una estructura de intervalo de tiempo.A timespan structure.
(No procede)(Does not apply) Platform::Object^ El objeto base con recuento de referencias en la vista de C++ del sistema de tipos en tiempo de ejecución de Windows.The reference-counted base object in the C++ view of the Windows Runtime type system.
std::wstring

L"..."
Platform::String^ Platform::String^ es una secuencia inmutable con recuento de referencias de caracteres Unicode que representan texto.Platform::String^ is a reference-counted, immutable, sequence of Unicode characters that represent text.
PunteroPointer Puntero a objeto (*):Pointer to object (*):

std::shared_ptr
Identificador-a-objeto (^, pronunciado “sombrero”):Handle-to-object (^, pronounced "hat"):

Identificador T^T^ identifier
Todas las clases en tiempo de ejecución de Windows se declaran con el modificador "identificador a objeto".All Windows Runtime classes are declared by using the handle-to-object modifier. Se obtiene acceso a los miembros del objeto mediante el operador de acceso de miembro de clase flecha (->).Members of the object are accessed by using the arrow (->) class-member-access operator.

El modificador de hat significa "puntero a un objeto en tiempo de ejecución de Windows que automáticamente hace referencia cuenta."The hat modifier means "pointer to a Windows Runtime object that is automatically reference counted." Más concretamente, el "identificador a objeto" declara que el compilador debe insertar código para administrar automáticamente el recuento de referencias del objeto y eliminar el objeto si el recuento de referencias llega a cero.More precisely, handle-to-object declares that the compiler should insert code to automatically manage the object's reference count, and delete the object if the reference count goes to zero.
ReferenciaReference Referencia a un objeto (&):Reference to an object (&):

T & identifierT & identifier
Referencia de seguimiento (%):Tracking reference (%):

T % identifierT % identifier
Solo en tiempo de ejecución de Windows tipos se pueden declarar utilizando el seguimiento de referencia modificador.Only Windows Runtime types can be declared by using the tracking reference modifier. Se obtiene acceso a los miembros del objeto mediante el operador de acceso de miembro de clase punto (.).Members of the object are accessed by using the dot (.) class-member-access operator.

La referencia de seguimiento significa "una referencia a un objeto en tiempo de ejecución de Windows que se cuentan las referencias de automáticamente."The tracking reference means "a reference to a Windows Runtime object that is automatically reference counted." Más concretamente, una referencia de seguimiento declara que el compilador debe insertar código para administrar automáticamente el recuento de referencias del objeto y eliminar el objeto si el recuento de referencias llega a cero.More precisely, a tracking reference declares that the compiler should insert code to automatically manage the object's reference count, and delete the object if the reference count goes to zero.
declaración de tipos dinámicaDynamic type declaration new ref new Asigna un objeto en tiempo de ejecución de Windows y, a continuación, devuelve un identificador a ese objeto.Allocates a Windows Runtime object and then returns a handle to that object.
administración de vigencia de objetoObject lifetime management delete identifierdelete identifier

delete[] identifierdelete[] identifier
(Invoca el destructor).(Invokes the destructor.) La vigencia la determina el recuento de referencias.Lifetime is determined by reference counting. Una llamada para eliminar llama al destructor pero en sí no libera memoria.A call to delete invokes the destructor but itself does not free memory.
declaración de matrizArray declaration Identificador T []T identifier []

std::array identifierstd::array identifier
Array< T ^>^ identifier ( size )Array< T ^>^ identifier ( size )

-o bien--or-

WriteOnlyArray< T ^> identifier ( size )WriteOnlyArray< T ^> identifier ( size )
Declara una matriz de solo escritura modificable unidimensional de tipo T^.Declares a one-dimensional modifiable or write-only array of type T^. La matriz en sí también es un objeto con recuento de referencias que se debe declarar mediante el modificador "identificador a objeto".The array itself is also a reference-counted object that must be declared by using the handle-to-object modifier.

Las declaraciones de matriz utilizan una clase de encabezado de plantilla que se encuentra en el espacio de nombres Platform .(Array declarations use a template header class that is in the Platform namespace.)
declaración de claseClass declaration class identifier {}class identifier {}

struct identifier {}struct identifier {}
ref class identifier {}ref class identifier {}

ref struct identifier {}ref struct identifier {}
Declara una clase en tiempo de ejecución que tiene accesibilidad privada predeterminada.Declares a runtime class that has default private accessibility.

Declara una clase en tiempo de ejecución que tiene accesibilidad pública predeterminada.Declares a runtime class that has default public accessibility.
declaración de estructuraStructure declaration struct identifier {}struct identifier {}

(es decir, una estructura Plain Old Data (POD))(that is, a Plain Old Data structure (POD))
value class identifier {}value class identifier {}

value struct identifier {}value struct identifier {}
Declara un struct de POD que tiene accesibilidad privada predeterminada.Declares a POD struct that has default private accessibility.

Una clase de valor se puede representar en metadatos de Windows, pero una clase de C++ estándar no se puede.A value class can be represented in Windows metadata, but a standard C++ class cannot be.

Declara un struct de POD que tiene accesibilidad pública predeterminada.Declares a POD struct that has default public accessibility.

Un struct de valor se puede representar en metadatos de Windows, pero un struct de C++ estándar no se puede.A value struct can be represented in Windows metadata, but a standard C++ struct cannot be.
declaración de interfazInterface declaration clase abstracta que solo contiene funciones virtuales puras.abstract class that contains only pure virtual functions. interface class identifier {}interface class identifier {}

interface struct identifier {}interface struct identifier {}
Declara una interfaz que tiene accesibilidad privada predeterminada.Declares an interface that has default private accessibility.

Declara una interfaz que tiene accesibilidad pública predeterminada.Declares an interface that has default public accessibility.
delegadoDelegate std::function public delegate tipo de valor devuelto delegate-type-identifier ( [parámetros] );public delegate return-type delegate-type-identifier ( [ parameters ] ); Declara un objeto que se puede invocar como una llamada de función.Declares an object that can be invoked like a function call.
eventoEvent (No procede)(Does not apply) event delegate-type-identifier event-identifier ;event delegate-type-identifier event-identifier ;

delegate-type-identifier delegate-identifier = ref newdelegate-type-identifier( this[, parámetros]);delegate-type-identifier delegate-identifier = ref newdelegate-type-identifier( this[, parameters]);

event-identifier += delegate-identifier ;event-identifier += delegate-identifier ;

-o bien--or-

EventRegistrationToken token-identifier = obj.event-identifier+=delegate-identifier;EventRegistrationToken token-identifier = obj.event-identifier+=delegate-identifier;

-o bien--or-

auto identificador de token de = obj. identificador de evento::add(identificador del delegado);auto token-identifier = obj. event-identifier::add(delegate-identifier);

obj . event-identifier -= token-identifier ;obj . event-identifier -= token-identifier ;

-o bien--or-

obj . event-identifier ::remove( token-identifier );obj . event-identifier ::remove( token-identifier );
Declare un objeto de evento, que almacena una colección de controladores de eventos (delegados) a los que se llama cuando se produce un evento.Declares an event object, which stores a collection of event handlers (delegates) that are called when an event occurs.

Crear un controlador de eventos.Creates an event handler.

Agrega un controlador de eventos.Adds an event handler.

Cuando se agrega un controlador de eventos, se devuelve un token de evento (token-identifier).Adding an event handler returns an event token (token-identifier). Si vas a quitar explícitamente el controlador de eventos, debes guardar el token de evento para uso posterior.If you intend to explicitly remove the event handler, you must save the event token for later use.

Quita un controlador de eventos.Removes an event handler.

Para quitar un controlador de eventos, debes especificar el token de evento que guardaste al agregar el controlador de eventos.To remove an event handler, you must specify the event token that you saved when the event handler was added.
propiedadProperty (No procede)(Does not apply) property T identifier;property T identifier;

property T identifier [ índice ];property T identifier [ index ];

property T default[ índice ];property T default[ index ];
Declara que se tiene acceso a una función miembro de clase o de objeto mediante la misma sintaxis que se utiliza para tener acceso a un miembro de datos o a un elemento de matriz indizado.Declares that a class or object member function is accessed by using the same syntax that's used to access a data member or indexed array element.

Declara una propiedad en una función miembro de clase o de objeto.Declares a property on a class or object member function.

Declara una propiedad indizada en una función miembro de objeto.Declares an indexed property on an object member function.

Declara una propiedad indizada en una función miembro de clase.Declares an indexed property on a class member function.
Tipos parametrizadosParameterized types plantillastemplates generic <typename T > interface class identifier {}generic <typename T > interface class identifier {}

generic <typename T > delegate [return-type] delegate-identifier () {}generic <typename T > delegate [return-type] delegate-identifier () {}
Declara una clase de interfaz parametrizada.Declares a parameterized interface class.

Declara un delegado parametrizado.Declares a parameterized delegate.
Tipos de valor que aceptan valores NULLNullable value types boost::optional<T> Platform:: ibox <T >Platform::IBox <T> Permite a variables de tipos escalares y structs de valor obtener un valor de nullptr.Enables variables of scalar types and value structs to have a value of nullptr.

Vea tambiénSee Also

Referencia del lenguaje de Visual C++Visual C++ Language Reference