Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows futtatókörnyezet támogatja az univerzális Windows Platform (UWP) alkalmazásokat. Ezek az alkalmazások csak megbízható operációsrendszer-környezetben futnak, engedélyezett függvényeket, adattípusokat és eszközöket használnak, és a Microsoft Store-on keresztül terjesztik őket. A C++/CX leegyszerűsíti a Windows futtatókörnyezethez készült alkalmazások írását. Ez a cikk egy gyors hivatkozás; további teljes dokumentációt a Type system (Típusrendszer) című témakörben talál.
Amikor a parancssorra épít, a /ZW fordítóval UWP-alkalmazást vagy Windows Futtatókörnyezet-összetevőt hozhat létre. A Windows futtatókörnyezeti deklarációk eléréséhez, amelyek a Windows Futtatókörnyezet metaadatainak (.winmd) fájljaiban vannak definiálva, adja meg az #using irányelvet vagy a /FU fordítót. Amikor projektet hoz létre egy UWP-alkalmazáshoz, a Visual Studio alapértelmezés szerint beállítja ezeket a beállításokat, és hivatkozásokat ad hozzá az összes Windows Runtime-kódtárhoz.
Gyorsreferencia
| Fogalom | Standard C++ | C++/CX | Megjegyzések |
|---|---|---|---|
| Alapvető típusok | C++ alapvető típusok. | C++/CX alapvető típusok, amelyek a Windows Futtatókörnyezetben definiált alapvető típusokat implementálják. | A default névtér beépített C++/CX alaptípusokat tartalmaz. A fordító implicit módon a C++/CX alaptípusokat szabványos C++ típusokra képezi le.A Platform névterek családja olyan típusokat tartalmaz, amelyek alapvető Windows-futtatókörnyezet-típusokat implementálnak. |
bool |
bool |
8 bites logikai érték. | |
wchar_t, char16_t |
char16 |
Unicode (UTF-16) kódpontot jelképező 16 bites nem számérték. | |
shortunsigned short |
int16uint16 |
16 bites aláírt egész szám. 16 bites aláíratlan egész szám. |
|
intunsigned int |
intuint32 |
32 bites aláírt egész szám. 32 bites aláíratlan egész szám. |
|
long long
__int64
unsigned long long |
int64uint64 |
64 bites aláírt egész szám. 64 bites aláíratlan egész szám. |
|
float, double |
float32, float64 |
32 bites vagy 64 bites IEEE 754 lebegőpontos szám. | |
enum |
enum class-vagy- enum struct |
32 bites számbavétel. | |
| (Nem alkalmazható) | Platform::Guid |
128 bites nem számérték (GUID) a Platform névtérben. |
|
std::time_get |
Windows::Foundation::DateTime |
Dátum-idő struktúra. | |
| (Nem alkalmazható) | Windows::Foundation::TimeSpan |
Időbélyeg-szerkezet. | |
| (Nem alkalmazható) | Platform::Object^ |
A Referenciaszámú alapobjektum a Windows futtatókörnyezet típusú rendszer C++ nézetében. | |
std::wstringL"..." |
Platform::String^ |
Platform::String^ a szövegnek megfelelő Unicode-karakterek hivatkozással megszámlált, nem módosítható sorozata. |
|
| Mutató | Mutató az objektumhoz (*):std::shared_ptr |
Fogantyú a tárgyhoz (^ejtsd: "kalap"):T^ identifier |
Az összes Windows futtatókörnyezeti osztály deklarálása a leíró-objektum módosító használatával történik. Az objektum tagjai a nyíl (->) osztálytag-hozzáférés operátorral érhetők el.A kalapmódosító azt jelenti, hogy "mutató egy windowsos futtatókörnyezeti objektumra, amely automatikusan hivatkozik a számláltra". Pontosabban a leíró az objektumhoz deklarálja, hogy a fordítónak be kell szúrnia az objektum hivatkozási számát automatikusan kezelő kódot, és törölnie kell az objektumot, ha a hivatkozási szám nullára csökken |
| Referenciák | Hivatkozás egy objektumra (&):T& identifier |
Nyomkövetési referencia (%):T% identifier |
A nyomkövetési referencia-módosító használatával csak Windows futtatókörnyezet-típusok deklarálhatók. Az objektum tagjai a pont (.) osztálytag-hozzáférés operátorral érhetők el.A nyomkövetési hivatkozás azt jelenti, hogy "egy windowsos futtatókörnyezeti objektumra mutató hivatkozás, amely automatikusan hivatkozik a számba." Pontosabban a nyomkövetési hivatkozás azt deklarálja, hogy a fordítónak be kell szúrnia az objektum hivatkozásainak számát automatikusan kezelő kódot. A kód törli az objektumot, ha a hivatkozási szám nullára csökken. |
| Dinamikus típus deklarációja | new |
ref new |
Lefoglal egy Windows Futtatókörnyezet objektumot, majd visszaad egy leírót az objektumnak. |
| Objektum élettartamának kezelése | delete identifierdelete[] identifier |
(Meghívja a destruktort.) | Az élettartamot a hivatkozásszámlálás határozza meg. A destruktor meghívására irányuló delete hívás nem szabadít fel memóriát. |
| Tömbdeklaráció | T identifier[]std::array identifier |
Array<T^>^ identifier( size )-vagy- WriteOnlyArray<T^> identifier( size ) |
Egydimenziós módosítható vagy írásvédett tömböt T^deklarál. Maga a tömb is egy hivatkozásszámozott objektum, amelyet a leíró-objektum módosító használatával kell deklarálni.(A tömbdeklarációk a névtérben található Platform sablonfejlécosztályt használják.) |
| Osztálydeklaráció | class identifier {}struct identifier {} |
ref class identifier {}ref struct identifier {} |
Deklarál egy futtatókörnyezeti osztályt, amely alapértelmezett private akadálymentességgel rendelkezik.Deklarál egy futtatókörnyezeti osztályt, amely alapértelmezett public akadálymentességgel rendelkezik. |
| Struktúra deklarációja | struct identifier {}(azaz egyszerű régi adatstruktúra (POD)) |
value class identifier {}value struct identifier {} |
Egy POD-szerkezetet deklarál, amely alapértelmezett private akadálymentességgel rendelkezik.A value class windowsos metaadatokban megjeleníthető, de a standard C++ class nem lehet.Egy POD-szerkezetet deklarál, amely alapértelmezett public akadálymentességgel rendelkezik.A value struct windowsos metaadatokban megjeleníthető, de a standard C++ struct nem lehet. |
| Felületi deklaráció | absztrakt osztály, amely csak tiszta virtuális függvényeket tartalmaz. | interface class identifier {}interface struct identifier {} |
Deklarál egy alapértelmezett private akadálymentességgel rendelkező felületet.Deklarál egy alapértelmezett public akadálymentességgel rendelkező felületet. |
| Képviselő | std::function |
public delegate return-type delegate-type-identifier (
[ paraméterek ]); |
Deklarál egy objektumot, amely függvényhívásként hívható meg. |
| Esemény | (Nem alkalmazható) | event delegate-type-identifier event-identifier;delegate-type-identifier delegate-identifier = ref new delegate-type-identifier( this
[, paraméterek]);event-identifier += *delegate-identifier;-vagy- EventRegistrationToken token-identifier = object.event-identifier += delegate-identifier;-vagy- auto token-identifier = object.event-identifier::add( delegate-identifier );object.event-identifier -= token-identifier;-vagy- object.event-identifier::remove( token-identifier ); |
Deklarál egy event objektumot, amely esemény bekövetkezésekor meghívott eseménykezelők (meghatalmazottak) gyűjteményét tárolja.Létrehoz egy eseménykezelőt. Eseménykezelőt ad hozzá. Az eseménykezelő hozzáadása eseményjogkivonatot ( token-identifier) ad vissza. Ha kifejezetten el szeretné távolítani az eseménykezelőt, az esemény jogkivonatát későbbi használatra kell mentenie.Eltávolít egy eseménykezelőt. Az eseménykezelő eltávolításához meg kell adnia azt az eseményjogkivonatot, amelyet az eseménykezelő hozzáadásakor mentett. |
| Ingatlan | (Nem alkalmazható) | property T identifier;property T identifier[ index ];property T default[ index ]; |
Deklarálja, hogy egy osztály- vagy objektumtagfüggvény ugyanazzal a szintaxissal érhető el, mint egy adattag vagy indexelt tömbelem elérése. Deklarál egy tulajdonságot egy osztály- vagy objektumtagfüggvényen. Indexelt tulajdonságot deklarál egy objektumtagfüggvényen. Indexelt tulajdonságot deklarál egy osztálytagfüggvényen. |
| Paraméteres típusok | sablonok | generic <typename T> interface class identifier {}generic <typename T > delegate
[return-type]delegate-identifier() {} |
Paraméteres felületosztályt deklarál. Paraméteres meghatalmazott deklarálása. |
| Null értékű értéktípusok | std::optional<T> |
Platform::IBox <T> |
Lehetővé teszi, hogy a skaláris típusú és value szerkezetű változók értéke nullptra . |