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 . |