Condividi tramite


Riferimento rapido (C++/CX)

Windows Runtime supporta le app piattaforma UWP (Universal Windows Platform) (UWP). Queste app vengono eseguite solo in un ambiente del sistema operativo affidabile, usano funzioni autorizzate, tipi di dati e dispositivi e vengono distribuite tramite Microsoft Store. C++/CX semplifica la scrittura di app per Windows Runtime. Questo articolo è un riferimento rapido; per una documentazione più completa, vedere Sistema dei tipi.

Quando si esegue la compilazione nella riga di comando, usare l'opzione del /ZW compilatore per compilare un'app UWP o un componente Windows Runtime. Per accedere alle dichiarazioni di Windows Runtime, definite nei file di metadati di Windows Runtime (winmd), specificare la direttiva o l'opzione #using del /FU compilatore. Quando crei un progetto per un'app UWP, Visual Studio imposta queste opzioni per impostazione predefinita e aggiunge riferimenti a tutte le librerie di Windows Runtime.

Riferimento rapido

Concetto C++ standard C++/CX Osservazioni:
Tipi fondamentali Tipi di base di C++. Tipi fondamentali C++/CX che implementano tipi fondamentali definiti in Windows Runtime. Lo default spazio dei nomi contiene tipi fondamentali predefiniti C++/CX. Il compilatore esegue il mapping implicito dei tipi fondamentali C++/CX ai tipi C++ standard.

La Platform famiglia di spazi dei nomi contiene tipi che implementano tipi fondamentali di Windows Runtime.
bool bool Valore booleano a 8 bit.
wchar_t, char16_t char16 Valore non numerico a 16 bit che rappresenta un punto di codice Unicode (UTF-16).
short

unsigned short
int16

uint16
Intero con segno a 16 bit.

Numero intero non firmato a 16 bit.
int

unsigned int
int

uint32
Intero con segno a 32 bit.

Intero senza segno a 32 bit.
long long -oppure- __int64

unsigned long long
int64

uint64
Intero con segno a 64 bit.

Intero senza segno a 64 bit.
float, double float32, float64 Numero a virgola mobile a 32 o 64 bit IEEE 754.
enum enum class

oppure

enum struct
Enumerazione a 32 bit.
(Non si applica) Platform::Guid Valore non numerico a 128 bit (GUID) nello spazio dei nomi Platform .
std::time_get Windows::Foundation::DateTime Struttura di data e ora.
(Non si applica) Windows::Foundation::TimeSpan Struttura timespan.
(Non si applica) Platform::Object^ Oggetto base con conteggio dei riferimenti nella visualizzazione C++ del sistema di tipi Windows Runtime.
std::wstring

L"..."
Platform::String^ Platform::String^ è una sequenza di caratteri Unicode che rappresenta del testo. La sequenza è non modificabile e con conteggio dei riferimenti.
Puntatore Puntatore a oggetto (*):

std::shared_ptr
Handle all'oggetto (^):

T^ identifier
Tutte le classi di Windows Runtime vengono dichiarate usando il modificatore handle-to-object. Ai membri dell'oggetto si accede tramite l'operatore di accesso membro-classe a freccia (->).

Il modificatore hat significa "puntatore a un oggetto Windows Runtime a cui viene fatto automaticamente riferimento". Più precisamente, handle-to-object dichiara che il compilatore deve inserire codice per gestire automaticamente il conteggio dei riferimenti dell'oggetto ed eliminare l'oggetto se il conteggio dei riferimenti va a zero
Riferimento Riferimento a un oggetto (&):

T& identifier
Riferimento di rilevamento (%):

T% identifier
Solo i tipi di Windows Runtime possono essere dichiarati usando il modificatore di riferimento di rilevamento. Ai membri dell'oggetto si accede tramite l'operatore di accesso membro-classe a punto (.).

Il riferimento di rilevamento indica "un riferimento a un oggetto Windows Runtime a cui viene fatto automaticamente riferimento". Più precisamente, un riferimento di rilevamento dichiara che il compilatore deve inserire codice per gestire automaticamente il conteggio dei riferimenti dell'oggetto. Il codice elimina l'oggetto se il conteggio dei riferimenti va a zero.
dichiarazione di tipo dinamico new ref new Alloca un oggetto Windows Runtime e quindi restituisce un handle a tale oggetto.
gestione della durata degli oggetti delete identifier

delete[] identifier
Richiama il distruttore. La durata è dipende dal conteggio dei riferimenti. Una chiamata a delete richiama il distruttore ma non libera memoria.
dichiarazione di matrice T identifier[]

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

-o-

WriteOnlyArray<T^> identifier( size )
Dichiara una matrice modificabile o di sola scrittura unidimensionale di tipo T^. La matrice stessa è un oggetto con conteggio dei riferimenti che deve essere dichiarato mediante il modificatore handle a oggetto.

Le dichiarazioni di matrice utilizzano una classe intestazione del modello nello spazio dei nomi Platform .
dichiarazione di classe class identifier {}

struct identifier {}
ref class identifier {}

ref struct identifier {}
Dichiara una classe di runtime con accessibilità predefinita private .

Dichiara una classe di runtime con accessibilità predefinita public .
dichiarazione di struttura struct identifier {}

(struttura POD)
value class identifier {}

value struct identifier {}
Dichiara uno struct POD con accessibilità predefinita private .

Un value class oggetto può essere rappresentato nei metadati di Windows, ma non può essere un C++ class standard.

Dichiara uno struct POD con accessibilità predefinita public .

Un value struct oggetto può essere rappresentato nei metadati di Windows, ma non può essere un C++ struct standard.
dichiarazione di interfaccia classe astratta che contiene solo le funzioni virtuali pure. interface class identifier {}

interface struct identifier {}
Dichiara un'interfaccia con accessibilità predefinita private .

Dichiara un'interfaccia con accessibilità predefinita public .
Delega std::function public delegate return-type delegate-type-identifier ([ parameters ] ); Dichiara un oggetto che può essere chiamato come una chiamata di funzione.
Event (Non si applica) event delegate-type-identifier event-identifier;

delegate-type-identifier delegate-identifier = ref new delegate-type-identifier( this[, parametri] );

event-identifier += *delegate-identifier;

oppure

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

oppure

auto token-identifier = object.event-identifier::add( delegate-identifier );

object.event-identifier -= token-identifier;

oppure

object.event-identifier::remove( token-identifier );
Dichiara un event oggetto , che archivia una raccolta di gestori eventi (delegati) chiamati quando si verifica un evento.

Crea un gestore eventi.

Aggiunge un gestore eventi.

L'aggiunta di un gestore eventi restituisce un token di evento (token-identifier). Se vuoi rimuovere in modo esplicito il gestore eventi, devi salvare il token di evento per un utilizzo successivo.

Rimuove un gestore eventi.

Per rimuovere un gestore eventi, devi specificare il token di evento salvato al momento dell'aggiunta del gestore eventi.
Proprietà (Non si applica) property T identifier;

property T identifier[ index ];

property T default[ index ];
Dichiara che è possibile accedere a una funzione membro dell'oggetto o della classe con la stessa sintassi utilizzata per accedere a un membro di dati o un elemento di matrice indicizzata.

Dichiara una proprietà nella funzione membro dell'oggetto o della classe.

Dichiara una proprietà indicizzata in una funzione membro dell'oggetto.

Dichiara una proprietà indicizzata nella funzione membro della classe.
Tipi con parametri modelli generic <typename T> interface class identifier {}

generic <typename T > delegate[return-type] delegate-identifier() {}
Dichiara una classe di interfaccia con parametri.

Dichiara un delegato con parametri.
Tipi valore nullable std::optional<T> Platform::IBox <T> Consente alle variabili di tipi scalari e value struct di avere un valore .nullptr

Vedi anche

Riferimenti al linguaggio C++/CX