Kurzreferenz (C++/CX)Quick Reference (C++/CX)

Windows-Runtime unterstützt universelle Windows-Plattform-apps, die nur in einer vertrauenswürdigen betriebssystemumgebung ausgeführt und verwenden autorisierte Funktionen, Datentypen und Geräte verteilt werden, über die Windows StoreWindows Store.The Windows Runtime supports Universal Windows Platform apps that execute only in a trustworthy operating system environment, use authorized functions, data types, and devices, and are distributed through the Windows StoreWindows Store. Die C + c++ / CX vereinfachen die Verfassung von apps für Windows-Runtime.The C++/CX simplify the writing of apps for the Windows Runtime. Dieser Artikel ist eine Kurzübersicht; umfassendere Dokumentation finden Sie unter Typsystem und Komponentenerweiterungen für Laufzeitplattformen.This article is a quick reference; for more complete documentation, see Type System and Component Extensions for Runtime Platforms.

Wenn Sie in der Befehlszeile erstellen, verwenden die /Zw Compileroption, um eine universelle Windows-Plattform-app oder Komponente für Windows-Runtime zu erstellen.When you build on the command line, use the /ZW compiler option to build a Universal Windows Platform app or Windows Runtime component. Geben Sie für Windows-Runtime-Deklarationen, die in den Windows-Runtime-Metadatendatei (.winmd)-Dateien definiert sind den Zugriff auf, die #using Richtlinie oder die /FU -Compileroption.To access Windows Runtime declarations, which are defined in the Windows Runtime metadata (.winmd) files, specify the #using directive or the /FU compiler option. Wenn Sie einen Projekt für eine universelle Windows-Plattform-app erstellen, wird von Visual Studio standardmäßig legt diese Optionen fest und fügt Verweise auf alle Windows-Runtime-Bibliotheken hinzu.When you create a project for a Universal Windows Platform app, Visual Studio by default sets these options and adds references to all Windows Runtime libraries.

KurzreferenzQuick reference

KonzeptConcept Standard C++Standard C++ C++/CXC++/CX HinweiseRemarks
Grundlegende TypenFundamental types Grundlegende C++-TypenC++ fundamental types. C + c++ / CX grundlegenden Typen, die grundlegende Typen implementieren, die in Windows-Runtime definiert sind.C++/CX fundamental types that implement fundamental types that are defined in the Windows Runtime. Die default -Namespace enthält C + c++ / CX integrierte grundlegende Typen.The default namespace contains C++/CX built-in, fundamental types. Der Compiler implizit ordnet C + c++ / CX grundlegende Typen zu Standard-c++-Typen.The compiler implicitly maps C++/CX fundamental types to standard C++ types.

Die Platform -Familie von Namespaces enthält Typen, die grundlegenden Windows-Runtime-Typen implementieren.The Platform family of namespaces contains types that implement fundamental Windows Runtime types.
bool bool Ein 8-Bit-boolescher Wert.An 8-bit Boolean value.
__wchar_t char16 Ein nicht numerischer 16-Bit-Wert, der einen Unicode-Codepunkt (UTF-16) darstellt.A 16-bit nonnumeric value that represents a Unicode (UTF-16) code point.
short

unsigned short
int16

uint16
Eine 16-Bit-Ganzzahl mit Vorzeichen.A 16-bit signed integer.

Eine 16-Bit-Ganzzahl ohne Vorzeichen.A 16-bit unsigned integer.
int

unsigned int
int

uint32
Eine 32-Bit-Ganzzahl mit Vorzeichen.A 32-bit signed integer.

Eine 32-Bit-Ganzzahl ohne Vorzeichen.A 32-bit unsigned integer.
long long - oder - __int64long long -or- __int64

unsigned long long
int64

uint64
Eine 64-Bit-Ganzzahl mit Vorzeichen.A 64-bit signed integer.

Eine 64-Bit-Ganzzahl ohne Vorzeichen.A 64-bit unsigned integer.
float, double float32, float64 Eine 32-Bit- oder 64-Bit-IEEE 754-Gleitkommazahl.A 32-bit or 64-bit IEEE 754 floating-point number.
enum {} enum class {}

- oder - -or-

enum struct {}
Eine 32-Bit-Enumeration.A 32-bit enumeration.
(Trifft nicht zu)(Does not apply) Platform::Guid Ein nicht numerischer 128-Bit-Wert (eine GUID) im Platform -Namespace.A 128-bit nonnumeric value (a GUID) in the Platform namespace.
std::time_get Windows::Foundation::DateTime Eine Datum/Uhrzeit-Struktur.A date-time structure.
(Trifft nicht zu)(Does not apply) Windows::Foundation::TimeSpan Eine TimeSpan-Struktur.A timespan structure.
(Trifft nicht zu)(Does not apply) Platform::Object^ Der Verweis gezählte Basisobjekt in der C++-Ansicht der Windows-Runtime-Typsystem.The reference-counted base object in the C++ view of the Windows Runtime type system.
std::wstring

L"..."
Platform::String^ Platform::String^ ist eine nach Verweis gezählte, unveränderliche Sequenz von Unicode-Zeichen, die Text darstellt.Platform::String^ is a reference-counted, immutable, sequence of Unicode characters that represent text.
ZeigerPointer Zeiger auf Objekt (*):Pointer to object (*):

std::shared_ptr
Handle-to-object (^, steht für Caretzeichen):Handle-to-object (^, pronounced "hat"):

T^ identifierT^ identifier
Alle Windows-Runtime-Klassen werden mit dem Handle-to-Object-Modifizierer deklariert.All Windows Runtime classes are declared by using the handle-to-object modifier. Auf Member des Objekts wird mit dem Klassenmemberzugriffs-Operator Pfeil (->) zugegriffen.Members of the object are accessed by using the arrow (->) class-member-access operator.

Die Modifizierer Hat, bedeutet "Zeiger auf ein Windows-Runtime-Objekt, das automatisch Verweis gezählt."The hat modifier means "pointer to a Windows Runtime object that is automatically reference counted." Genauer gesagt, deklariert "handle-to-object", dass der Compiler Code einfügen soll, um den Verweiszählerwert des Objekts automatisch zu verwalten und das Objekt zu löschen, wenn der Verweiszähler Null ist.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.
VerweisReference Ein Verweis auf ein Objekt (&):Reference to an object (&):

T & identifierT & identifier
Nachverfolgungsverweis (%):Tracking reference (%):

T % identifierT % identifier
Nur Windows-Runtime, die Typen deklariert werden können, mit dem Modifizierer zu verweisen.Only Windows Runtime types can be declared by using the tracking reference modifier. Auf Member des Objekts wird mit dem Klassenmemberzugriffs-Operator Punkt (.) zugegriffen.Members of the object are accessed by using the dot (.) class-member-access operator.

Der Nachverfolgungsverweis bedeutet "einen Verweis auf ein Windows-Runtime-Objekt, das automatisch einen Verweiszähler auf."The tracking reference means "a reference to a Windows Runtime object that is automatically reference counted." Genauer gesagt, deklariert ein Nachverfolgungsverweis, dass der Compiler Code einfügen soll, um den Verweiszählerwert des Objekts automatisch zu verwalten und das Objekt zu löschen, wenn der Verweiszähler Null ist.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.
Dynamische TypdeklarationDynamic type declaration new ref new Ordnet ein Windows-Runtime-Objekt und gibt ein Handle auf das Objekt.Allocates a Windows Runtime object and then returns a handle to that object.
Verwaltung der ObjektlebensdauerObject lifetime management delete identifierdelete identifier

delete[] identifierdelete[] identifier
(Destruktoraufruf.)(Invokes the destructor.) Die Lebensdauer wird durch Verweiszählung bestimmt.Lifetime is determined by reference counting. Ein Löschaufruf startet den Destruktor und gibt selbst keinen Speicherplatz frei.A call to delete invokes the destructor but itself does not free memory.
ArraydeklarationArray declaration T identifier []T identifier []

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

- oder - -or-

WriteOnlyArray< T ^> identifier ( size )WriteOnlyArray< T ^> identifier ( size )
Deklariert ein eindimensionales bearbeitbares oder schreibgeschütztes Array vom Typ T^.Declares a one-dimensional modifiable or write-only array of type T^. Das Array selbst ist auch ein nach Verweis gezähltes Objekt, das mit dem handle-to-object-Modifizierer deklariert werden muss.The array itself is also a reference-counted object that must be declared by using the handle-to-object modifier.

(Arraydeklarationen verwenden eine Vorlagenheaderklasse, die im Platform -Namespace ist.)(Array declarations use a template header class that is in the Platform namespace.)
KlassendeklarationClass declaration class identifier {}class identifier {}

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

ref struct identifier {}ref struct identifier {}
Deklariert eine Laufzeitklasse mit privater Standardbarrierefreiheit.Declares a runtime class that has default private accessibility.

Deklariert eine Laufzeitklasse mit öffentlicher Standardbarrierefreiheit.Declares a runtime class that has default public accessibility.
StrukturdeklarationStructure declaration struct identifier {}struct identifier {}

(d. h. eine POD-Struktur (Plain Old Data))(that is, a Plain Old Data structure (POD))
value class identifier {}value class identifier {}

value struct identifier {}value struct identifier {}
Deklariert eine POD-Struktur mit privater Standardbarrierefreiheit.Declares a POD struct that has default private accessibility.

Eine Wertklasse kann in Windows-Metadaten dargestellt werden, eine Standard-C++-Klasse hingegen nicht.A value class can be represented in Windows metadata, but a standard C++ class cannot be.

Deklariert eine POD-Struktur mit öffentlicher Standardbarrierefreiheit.Declares a POD struct that has default public accessibility.

Eine Wertstruktur kann in Windows-Metadaten dargestellt werden, eine Standard-C++-Struktur hingegen nicht.A value struct can be represented in Windows metadata, but a standard C++ struct cannot be.
SchnittstellendeklarationInterface declaration Abstrakte Klasse, die nur rein virtuelle Funktionen enthält.abstract class that contains only pure virtual functions. interface class identifier {}interface class identifier {}

interface struct identifier {}interface struct identifier {}
Deklariert eine Schnittstelle mit privater Standardbarrierefreiheit.Declares an interface that has default private accessibility.

Deklariert eine Schnittstelle mit öffentlicher Standardbarrierefreiheit.Declares an interface that has default public accessibility.
delegateDelegate std::function public delegate Rückgabetyp delegate-type-identifier ( [Parameter] );public delegate return-type delegate-type-identifier ( [ parameters ] ); Deklariert ein Objekt, das wie ein Funktionsaufruf aufgerufen werden kann.Declares an object that can be invoked like a function call.
eventEvent (Trifft nicht zu)(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[, Parameter]);delegate-type-identifier delegate-identifier = ref newdelegate-type-identifier( this[, parameters]);

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

- oder - -or-

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

- oder - -or-

auto-Token-Identifier = Obj. Ereignisbezeichner::add(Delegaten-Bezeichner);auto token-identifier = obj. event-identifier::add(delegate-identifier);

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

- oder - -or-

obj . event-identifier ::remove( token-identifier );obj . event-identifier ::remove( token-identifier );
Deklariert ein Ereignisobjekt, das eine Ereignishandlerauflistung (Delegaten) speichert, die beim Auftreten eines Ereignisses aufgerufen wird.Declares an event object, which stores a collection of event handlers (delegates) that are called when an event occurs.

Erstellt einen Ereignishandler.Creates an event handler.

Fügt einen Ereignishandler hinzu.Adds an event handler.

Wenn ein Ereignishandler hinzugefügt wird, wird ein Ereignistoken (token-identifier) zurückgegeben.Adding an event handler returns an event token (token-identifier). Falls Sie den Ereignishandler explizit entfernen möchten, müssen Sie das Ereignistoken für die spätere Verwendung speichern.If you intend to explicitly remove the event handler, you must save the event token for later use.

Entfernt einen Ereignishandler.Removes an event handler.

Um einen Ereignishandler zu entfernen, müssen Sie das Ereignistoken angeben, das Sie beim Hinzufügen des Ereignishandlers gespeichert haben.To remove an event handler, you must specify the event token that you saved when the event handler was added.
propertyProperty (Trifft nicht zu)(Does not apply) property T identifier;property T identifier;

property T identifier [ Index ];property T identifier [ index ];

property T default[ Index ];property T default[ index ];
Deklariert, dass auf eine Klassen- oder eine Objektmemberfunktion mit derselben Syntax zugegriffen wird, die für den Zugriff auf einen Datenmember oder ein indiziertes Arrayelement verwendet wurde.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.

Deklariert eine Eigenschaft in einer Klassen- oder Objektmemberfunktion.Declares a property on a class or object member function.

Deklariert eine indizierte Eigenschaft in einer Objektmemberfunktion.Declares an indexed property on an object member function.

Deklariert eine indizierte Eigenschaft in einer Klassenmemberfunktion.Declares an indexed property on a class member function.
Parametrisierte TypenParameterized types Vorlagentemplates generic <typename T > interface class identifier {}generic <typename T > interface class identifier {}

generic <typename T > delegate [Rückgabetyp] delegate-identifier () {}generic <typename T > delegate [return-type] delegate-identifier () {}
Deklariert eine parametrisierte Schnittstellenklasse.Declares a parameterized interface class.

Deklariert einen parametrisierten Delegaten.Declares a parameterized delegate.
Auf NULL festlegbare WerttypenNullable value types boost::optional<T> Platform:: ibox <T >Platform::IBox <T> Ermöglicht, dass Variablen von skalaren Typen und Wertstrukturen einen Wert von nullptraufweisen.Enables variables of scalar types and value structs to have a value of nullptr.

Siehe auchSee Also

Visual C++-SprachreferenzVisual C++ Language Reference