Delen via


Snelzoekgids (C++/CX)

Windows Runtime ondersteunt UWP-apps (Universal Windows Platform). Deze apps worden alleen uitgevoerd in een betrouwbare besturingssysteemomgeving, gebruiken geautoriseerde functies, gegevenstypen en apparaten en worden gedistribueerd via de Microsoft Store. De C++/CX vereenvoudigt het schrijven van apps voor Windows Runtime. Dit artikel is een beknopt overzicht; Zie typesysteem voor meer volledige documentatie.

Wanneer u op de opdrachtregel bouwt, gebruikt u de /ZW compileroptie om een UWP-app of Windows Runtime-onderdeel te bouwen. Als u toegang wilt krijgen tot declaraties van Windows Runtime, die zijn gedefinieerd in de Windows Runtime-metagegevensbestanden (.winmd), geeft u de #using instructie of de /FU compileroptie op. Wanneer u een project voor een UWP-app maakt, worden deze opties in Visual Studio standaard ingesteld en worden verwijzingen toegevoegd aan alle Windows Runtime-bibliotheken.

Snelzoekgids

Begrip Standaard C++ C++/CX Opmerkingen
Basistypen C++ fundamentele typen. C++/CX-basistypen die fundamentele typen implementeren die zijn gedefinieerd in Windows Runtime. De default naamruimte bevat ingebouwde, fundamentele typen C++/CX. De compiler wijst impliciet C++/CX-basistypen toe aan standaard C++-typen.

De Platform familie van naamruimten bevat typen die fundamentele Windows Runtime-typen implementeren.
bool bool Een 8-bits Booleaanse waarde.
wchar_t, char16_t char16 Een 16-bits niet-numerieke waarde die een Unicode-codepunt (UTF-16) vertegenwoordigt.
short

unsigned short
int16

uint16
Een 16-bits geheel getal dat is ondertekend.

Een 16-bits geheel getal zonder teken.
int

unsigned int
int

uint32
Een 32-bits geheel getal dat is ondertekend.

Een 32-bits geheel getal zonder teken.
long long -of- __int64

unsigned long long
int64

uint64
Een 64-bits ondertekend geheel getal.

Een 64-bits geheel getal zonder teken.
float, double float32, float64 Een 32-bits of 64-bits IEEE 754 drijvendekommagetal.
enum enum class

– of –

enum struct
Een 32-bits opsomming.
(Is niet van toepassing) Platform::Guid Een 128-bits niet-numerieke waarde (een GUID) in de Platform naamruimte.
std::time_get Windows::Foundation::DateTime Een datum/tijd-structuur.
(Is niet van toepassing) Windows::Foundation::TimeSpan Een tijdspannestructuur.
(Is niet van toepassing) Platform::Object^ Het basisobject waarnaar wordt verwezen in de C++-weergave van het Type Windows Runtime-systeem.
std::wstring

L"..."
Platform::String^ Platform::String^ is een verwijzingsgetelde, onveranderbare reeks Unicode-tekens die tekst vertegenwoordigen.
Aanwijzer Aanwijzer naar object (*):

std::shared_ptr
Handle-to-object (^uitgesproken als "hoed"):

T^ identifier
Alle Windows Runtime-klassen worden gedeclareerd met behulp van de handle-to-object modifier. Leden van het object worden geopend met behulp van de pijl-lid-toegangsoperator->.

De hat modifier betekent 'pointer to a Windows Runtime object that is automatically reference counted'. Nauwkeuriger declareert handle-to-object dat de compiler code moet invoegen om het aantal verwijzingen van het object automatisch te beheren en het object te verwijderen als het aantal verwijzingen naar nul gaat
Referentie Verwijzing naar een object (&):

T& identifier
Traceringsreferentie (%):

T% identifier
Alleen Windows Runtime-typen kunnen worden gedeclareerd met behulp van de verwijzingsaanpassing voor tracering. Leden van het object worden geopend met behulp van de operator punt-lid-toegang..

De traceringsverwijzing betekent 'een verwijzing naar een Windows Runtime-object dat automatisch wordt geteld'. Een traceringsverwijzing geeft aan dat de compiler code moet invoegen om het aantal verwijzingen van het object automatisch te beheren. Met de code wordt het object verwijderd als het aantal verwijzingen naar nul gaat.
Declaratie van dynamisch type new ref new Wijst een Windows Runtime-object toe en retourneert vervolgens een ingang naar dat object.
Objectlevensbeheer delete identifier

delete[] identifier
(Roept de destructor aan.) Levensduur wordt bepaald door het tellen van verwijzingen. Een aanroep om de destructor aan te delete roepen, maar zelf maakt geen geheugen vrij.
Matrixdeclaratie T identifier[]

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

-or-

WriteOnlyArray<T^> identifier( size )
Declareert een eendimensionale wijzigings- of alleen-schrijvenmatrix van het type T^. De matrix zelf is ook een naslagobject dat moet worden gedeclareerd met behulp van de wijzigingsfunctie voor handle-to-object.

(Matrixdeclaraties gebruiken een sjabloonheaderklasse die zich in de Platform naamruimte bevindt.)
Klassedeclaratie class identifier {}

struct identifier {}
ref class identifier {}

ref struct identifier {}
Declareert een runtimeklasse met standaardtoegankelijkheid private .

Declareert een runtimeklasse met standaardtoegankelijkheid public .
Structuurdeclaratie struct identifier {}

(dat wil gezegd, een normale oude gegevensstructuur (POD))
value class identifier {}

value struct identifier {}
Declareert een POD-struct met standaardtoegankelijkheid private .

Een value class kan worden weergegeven in Windows-metagegevens, maar een standaard-C++ class kan dat niet zijn.

Declareert een POD-struct met standaardtoegankelijkheid public .

Een value struct kan worden weergegeven in Windows-metagegevens, maar een standaard-C++ struct kan dat niet zijn.
Interfacedeclaratie abstracte klasse die alleen pure virtuele functies bevat. interface class identifier {}

interface struct identifier {}
Declareert een interface met standaardtoegankelijkheid private .

Declareert een interface met standaardtoegankelijkheid public .
Gedelegeerde std::function public delegate return-type delegate-type-identifier ( [ parameters ]); Declareert een object dat kan worden aangeroepen als een functieaanroep.
Gebeurtenis (Is niet van toepassing) event delegate-type-identifier event-identifier;

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

event-identifier += *delegate-identifier;

– of –

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

– of –

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

object.event-identifier -= token-identifier;

– of –

object.event-identifier::remove( token-identifier );
Declareert een event object, waarin een verzameling gebeurtenis-handlers (gemachtigden) wordt opgeslagen die worden aangeroepen wanneer een gebeurtenis plaatsvindt.

Hiermee maakt u een gebeurtenis-handler.

Hiermee voegt u een gebeurtenis-handler toe.

Als u een gebeurtenis-handler toevoegt, wordt een gebeurtenistoken (token-identifier) geretourneerd. Als u de gebeurtenis-handler expliciet wilt verwijderen, moet u het gebeurtenistoken opslaan voor later gebruik.

Hiermee verwijdert u een gebeurtenis-handler.

Als u een gebeurtenis-handler wilt verwijderen, moet u het gebeurtenistoken opgeven dat u hebt opgeslagen toen de gebeurtenis-handler werd toegevoegd.
Vastgoed (Is niet van toepassing) property T identifier;

property T identifier[ index ];

property T default[ index ];
Declareert dat een klasse- of objectlidfunctie wordt geopend met behulp van dezelfde syntaxis die wordt gebruikt voor toegang tot een gegevenslid of geïndexeerd matrixelement.

Declareert een eigenschap voor een klasse- of objectlidfunctie.

Declareert een geïndexeerde eigenschap voor een objectlidfunctie.

Declareert een geïndexeerde eigenschap voor een klasselidfunctie.
Geparameteriseerde typen Sjablonen generic <typename T> interface class identifier {}

generic <typename T > delegate [return-type]delegate-identifier() {}
Declareert een geparameteriseerde interfaceklasse.

Declareert een geparameteriseerde gemachtigde.
Typen null-waarden std::optional<T> Platform::IBox <T> Hiermee kunnen variabelen van scalaire typen en value structs een waarde hebben van nullptr.

Zie ook

Naslaginformatie over C++/CX-taal