Stručná referenční dokumentace (C++/CX)

Prostředí Windows Runtime podporuje aplikace pro Univerzální platforma Windows (UPW). Tyto aplikace se spouštějí jenom v důvěryhodném prostředí operačního systému, používají autorizované funkce, datové typy a zařízení a distribuují se prostřednictvím Microsoft Storu. C++/CX zjednodušuje psaní aplikací pro prostředí Windows Runtime. Tento článek je stručný přehled; Podrobnější dokumentaci najdete v tématu Systém typů.

Při sestavování na příkazovém řádku pomocí možnosti kompilátoru /ZW sestavte aplikaci pro UPW nebo prostředí Windows Runtime komponentu. Pro přístup k prostředí Windows Runtime deklaracím, které jsou definovány v souborech metadat prostředí Windows Runtime (.winmd), zadejte #using direktivu nebo možnost kompilátoru/FU. Když vytvoříte projekt pro aplikaci pro UPW, Visual Studio ve výchozím nastavení nastaví tyto možnosti a přidá odkazy do všech knihoven prostředí Windows Runtime.

Stručná referenční příručka

Koncepce Standardní C++ C++/CX Poznámky
Základní typy Základní typy jazyka C++. Základní typy C++/CX, které implementují základní typy definované v prostředí Windows Runtime Obor default názvů obsahuje integrované základní typy C++/CX. Kompilátor implicitně mapuje základní typy C++/CX na standardní typy C++.

Řada Platform oborů názvů obsahuje typy, které implementují základní typy prostředí Windows Runtime.
bool bool 8bitová logická hodnota.
wchar_t, char16_t char16 16bitová nečíselná hodnota, která představuje bod kódu Unicode (UTF-16).
short

unsigned short
int16

uint16
16bitové celé číslo se signedm.

16bitové celé číslo bez znaménka.
int

unsigned int
int

uint32
32bitové celé číslo se signedm.

32bitové celé číslo bez znaménka.
long long -Nebo- __int64

unsigned long long
int64

uint64
64bitové celé číslo se signedm.

64bitové celé číslo bez znaménka.
float, double float32, float64 32bitové nebo 64bitové číslo IEEE 754 s plovoucí desetinou čárkou.
enum enum class

nebo

enum struct
32bitový výčet.
(Neplatí) Platform::Guid 128bitová nečíselná hodnota (GUID) v Platform oboru názvů.
std::time_get Windows::Foundation::DateTime Struktura data a času.
(Neplatí) Windows::Foundation::TimeSpan Struktura časového rozpětí.
(Neplatí) Platform::Object^ Referenční počítaný základní objekt v zobrazení jazyka C++ systému typů prostředí Windows Runtime.
std::wstring

L"..."
Platform::String^ Platform::String^ je sekvencí znaků Unicode, které představují text, počítána, neměnná, neměnná.
Ukazatel Ukazatel na objekt (*):

std::shared_ptr
Handle-to-object (^vyslovuje se "klobouk"):

T^ identifier
Všechny třídy prostředí Windows Runtime jsou deklarovány pomocí modifikátoru handle-to-object. K členům objektu se přistupuje pomocí operátoru class-member-access () se šipkou (->).

Modifikátor klobouku znamená "ukazatel na objekt prostředí Windows Runtime, který se automaticky počítá." Přesněji řečeno, handle-to-object deklaruje, že kompilátor by měl vložit kód pro správu referenčního počtu objektu automaticky a odstranit objekt, pokud počet odkazů přejde na nulu.
Reference Odkaz na objekt (&):

T& identifier
Referenční dokumentace ke sledování (%):

T% identifier
Pomocí modifikátoru odkazu sledování lze deklarovat pouze prostředí Windows Runtime typy. K členům objektu se přistupuje pomocí tečky (.) operátoru přístupu člena třídy.

Sledovací odkaz znamená "odkaz na objekt prostředí Windows Runtime, který se automaticky počítá." Přesněji řečeno, sledovací odkaz deklaruje, že kompilátor by měl vložit kód pro správu počtu odkazů objektu automaticky. Kód odstraní objekt, pokud počet odkazů přejde na nulu.
Deklarace dynamického typu new ref new Přidělí objekt prostředí Windows Runtime a pak vrátí popisovač objektu.
Správa doby života objektů delete identifier

delete[] identifier
(Vyvolá destruktor.) Doba života je určena počítáním odkazů. Volání delete vyvolá destruktor, ale sám o sobě nezvolá paměť.
Deklarace pole T identifier[]

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

-Nebo-

WriteOnlyArray<T^> identifier( size )
Deklaruje jednorozměrnou modifikovatelnou nebo zapisovatelnou matici typu T^. Samotné pole je také objekt počítaný odkazem, který musí být deklarován pomocí modifikátoru handle-to-object.

(Deklarace pole používají třídu záhlaví šablony, která je v Platform oboru názvů.)
Deklarace třídy class identifier {}

struct identifier {}
ref class identifier {}

ref struct identifier {}
Deklaruje třídu modulu runtime, která má výchozí private přístupnost.

Deklaruje třídu modulu runtime, která má výchozí public přístupnost.
Deklarace struktury struct identifier {}

(to znamená struktura prostých starých dat (POD))
value class identifier {}

value struct identifier {}
Deklaruje strukturu POD, která má výchozí private přístupnost.

A value class může být reprezentováno v metadatech Windows, ale standardní jazyk C++ class nemůže být.

Deklaruje strukturu POD, která má výchozí public přístupnost.

A value struct může být reprezentováno v metadatech Windows, ale standardní jazyk C++ struct nemůže být.
Deklarace rozhraní abstraktní třída, která obsahuje pouze čistě virtuální funkce. interface class identifier {}

interface struct identifier {}
Deklaruje rozhraní, které má výchozí private přístupnost.

Deklaruje rozhraní, které má výchozí public přístupnost.
Delegát std::function public delegate return-type delegate-type-identifier ([ parametry ]); Deklaruje objekt, který lze vyvolat jako volání funkce.
Událost (Neplatí) event delegate-type-identifier event-identifier;

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

event-identifier += *delegate-identifier;

nebo

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

nebo

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

object.event-identifier -= token-identifier;

nebo

object.event-identifier::remove( token-identifier );
Deklaruje event objekt, který ukládá kolekci obslužných rutin událostí (delegátů), které se volají při výskytu události.

Vytvoří obslužnou rutinu události.

Přidá obslužnou rutinu události.

Přidání obslužné rutiny události vrátí token události (token-identifier). Pokud chcete obslužnou rutinu události explicitně odebrat, je nutné uložit token události pro pozdější použití.

Odebere obslužnou rutinu události.

Chcete-li odebrat obslužnou rutinu události, je nutné zadat token události, který jste uložili při přidání obslužné rutiny události.
Vlastnost (Neplatí) property T identifier;

property T identifier[ index ];

property T default[ index ];
Deklaruje, že k členské funkci třídy nebo objektu se přistupuje pomocí stejné syntaxe, která se používá pro přístup k datovému členu nebo indexovaného prvku pole.

Deklaruje vlastnost u třídy nebo členské funkce objektu.

Deklaruje indexovanou vlastnost u členské funkce objektu.

Deklaruje indexovanou vlastnost členské funkce třídy.
Parametrizované typy šablony generic <typename T> interface class identifier {}

generic <typename T > delegate[return-type]delegate-identifier() {}
Deklaruje parametrizovanou třídu rozhraní.

Deklaruje parametrizovaný delegát.
Typy hodnot s povolenou hodnotou Null std::optional<T> Platform::IBox <T> Umožňuje proměnným skalárních typů a value struktur mít hodnotu nullptr.

Viz také

Referenční dokumentace jazyka C++/CX