Hızlı Başvuru (C++/CX)
Windows Çalışma Zamanı Evrensel Windows Platformu (UWP) uygulamalarını destekler. Bu uygulamalar yalnızca güvenilir bir işletim sistemi ortamında yürütülür, yetkili işlevleri, veri türlerini ve cihazları kullanır ve Microsoft Store aracılığıyla dağıtılır. C++/CX, Windows Çalışma Zamanı için uygulama yazmayı basitleştirir. Bu makale hızlı bir başvurudur; Daha eksiksiz belgeler için bkz . Tür sistemi.
Komut satırında derleme yaparken, derleyici seçeneğini kullanarak /ZW
bir UWP uygulaması veya Windows Çalışma Zamanı bileşeni oluşturun. Windows Çalışma Zamanı meta veri (.winmd) dosyalarında tanımlanan Windows Çalışma Zamanı bildirimlerine erişmek için yönergesini #using
veya /FU
derleyici seçeneğini belirtin. Bir UWP uygulaması için proje oluşturduğunuzda, Visual Studio varsayılan olarak bu seçenekleri ayarlar ve tüm Windows Çalışma Zamanı kitaplıklarına başvuru ekler.
Hızlı başvuru
Konsept | Standart C++ | C++/CX | Açıklamalar |
---|---|---|---|
Temel türler | C++ temel türleri. | Windows Çalışma Zamanı tanımlanan temel türleri uygulayan C++/CX temel türleri. | Ad default alanı C++/CX yerleşik temel türlerini içerir. Derleyici, C++/CX temel türlerini örtük olarak standart C++ türleriyle eşler.Ad Platform alanı ailesi, temel Windows Çalışma Zamanı türlerini uygulayan türler içerir. |
bool |
bool |
8 bit Boole değeri. | |
wchar_t , char16_t |
char16 |
Unicode (UTF-16) kod noktasını temsil eden 16 bit sayısal olmayan bir değer. | |
short unsigned short |
int16 uint16 |
16 bit imzalı tamsayı. 16 bit işaretsiz tamsayı. |
|
int unsigned int |
int uint32 |
32 bit imzalı tamsayı. 32 bit işaretsiz tamsayı. |
|
long long -veya- __int64 unsigned long long |
int64 uint64 |
64 bit işaretli bir tamsayı. 64 bit işaretsiz tamsayı. |
|
float , double |
float32 , float64 |
32 bit veya 64 bit IEEE 754 kayan noktalı sayı. | |
enum |
enum class -veya- enum struct |
32 bit sabit listesi. | |
(Geçerli değildir) | Platform::Guid |
Ad alanında Platform 128 bit sayısal olmayan bir değer (GUID). |
|
std::time_get |
Windows::Foundation::DateTime |
Tarih-saat yapısı. | |
(Geçerli değildir) | Windows::Foundation::TimeSpan |
Zaman aralığı yapısı. | |
(Geçerli değildir) | Platform::Object^ |
Windows Çalışma Zamanı türü sisteminin C++ görünümünde başvuru olarak sayılan temel nesne. | |
std::wstring L"..." |
Platform::String^ |
Platform::String^ , metni temsil eden başvuru sayılan, sabit, Unicode karakterleri dizisidir. |
|
İşaretçi | Nesne işaretçisi (* ):std::shared_ptr |
Tanıtıcıdan nesneye (^ , "hat" olarak okunur):T^ identifier |
Tüm Windows Çalışma Zamanı sınıfları tanıtıcıdan nesneye değiştirici kullanılarak bildirilir. Nesnenin üyelerine ok (-> ) class-member-access işleci kullanılarak erişilir.Şapka değiştiricisi "otomatik olarak başvuru sayılan bir Windows Çalışma Zamanı nesnesinin işaretçisi" anlamına gelir. Daha kesin olarak, tanıtıcıdan nesneye derleyicinin nesnenin başvuru sayısını otomatik olarak yönetmek için kod eklemesi ve başvuru sayısı sıfıra çıkarsa nesneyi silmesi gerektiğini bildirir |
Başvuru | Bir nesneye başvuru (& ):T& identifier |
İzleme başvurusu (% ):T% identifier |
İzleme başvurusu değiştiricisi kullanılarak yalnızca Windows Çalışma Zamanı türleri bildirilebilir. Nesnenin üyelerine nokta (. ) class-member-access işleci kullanılarak erişilir.İzleme başvurusu", "otomatik olarak başvuru sayılan bir Windows Çalışma Zamanı nesnesine başvuru" anlamına gelir. Daha kesin olarak, bir izleme başvurusu derleyicinin nesnenin başvuru sayısını otomatik olarak yönetmek için kod eklemesi gerektiğini bildirir. Başvuru sayısı sıfıra çıkarsa kod nesneyi siler. |
Dinamik tür bildirimi | new |
ref new |
bir Windows Çalışma Zamanı nesnesi ayırır ve sonra bu nesneye bir tanıtıcı döndürür. |
Nesne yaşam süresi yönetimi | delete identifier delete[] identifier |
(Yıkıcıyı çağırır.) | Yaşam süresi, başvuru sayımına göre belirlenir. Çağrısı delete , yıkıcıyı çağırır, ancak kendisi belleği boşaltmaz. |
Dizi bildirimi | T identifier[] std::array identifier |
Array<T^>^ identifier( size ) -veya- WriteOnlyArray<T^> identifier( size ) |
türünde T^ tek boyutlu değiştirilebilir veya salt yazılabilir bir dizi bildirir. Dizinin kendisi de tanıtıcıdan nesneye değiştirici kullanılarak bildirilmesi gereken başvuru sayılan bir nesnedir.(Dizi bildirimleri, ad alanında Platform bulunan bir şablon üst bilgisi sınıfı kullanır.) |
Sınıf bildirimi | class identifier {} struct identifier {} |
ref class identifier {} ref struct identifier {} |
Varsayılan private erişilebilirliği olan bir çalışma zamanı sınıfı bildirir.Varsayılan public erişilebilirliği olan bir çalışma zamanı sınıfı bildirir. |
Yapı bildirimi | struct identifier {} (yani, Düz Eski Veri yapısı (POD)) |
value class identifier {} value struct identifier {} |
Varsayılan private erişilebilirliği olan bir POD yapısı bildirir.bir value class , Windows meta verilerinde gösterilebilir, ancak standart bir C++ class olamaz.Varsayılan public erişilebilirliği olan bir POD yapısı bildirir.bir value struct , Windows meta verilerinde gösterilebilir, ancak standart bir C++ struct olamaz. |
Arabirim bildirimi | yalnızca saf sanal işlevler içeren soyut sınıf. | interface class identifier {} interface struct identifier {} |
Varsayılan private erişilebilirliği olan bir arabirimi bildirir.Varsayılan public erişilebilirliği olan bir arabirimi bildirir. |
Temsilci | std::function |
public delegate return-type delegate-type-identifier ( [ parametreler ] ); |
İşlev çağrısı gibi çağrılabilen bir nesne bildirir. |
Etkinlik | (Geçerli değildir) | event delegate-type-identifier event-identifier; delegate-type-identifier delegate-identifier = ref new delegate-type-identifier( this [, parametreler] ); event-identifier += *delegate-identifier; -veya- EventRegistrationToken token-identifier = object.event-identifier += delegate-identifier; -veya- auto token-identifier = object.event-identifier::add( delegate-identifier ); object.event-identifier -= token-identifier; -veya- object.event-identifier::remove( token-identifier ); |
Bir event olay gerçekleştiğinde çağrılan olay işleyicileri (temsilciler) koleksiyonunu depolayan bir nesnesi bildirir.Bir olay işleyicisi oluşturur. Olay işleyicisi ekler. Olay işleyicisi eklemek bir olay belirteci ( token-identifier ) döndürür. Olay işleyicisini açıkça kaldırmak istiyorsanız, olay belirtecini daha sonra kullanmak üzere kaydetmeniz gerekir.Olay işleyicisini kaldırır. Olay işleyicisini kaldırmak için, olay işleyicisi eklendiğinde kaydettiğiniz olay belirtecini belirtmeniz gerekir. |
Özellik | (Geçerli değildir) | property T identifier; property T identifier[ index ]; property T default[ index ]; |
Bir sınıf veya nesne üyesi işlevine, veri üyesine veya dizine alınan dizi öğesine erişmek için kullanılan söz dizimini kullanarak erişildiğini bildirir. Bir sınıf veya nesne üye işlevinde bir özellik bildirir. Bir nesne üye işlevinde dizine alınan özelliği bildirir. Sınıf üyesi işlevinde dizine alınan bir özelliği bildirir. |
Parametreli türler | templates | generic <typename T> interface class identifier {} generic <typename T > delegate [return-type ] delegate-identifier() {} |
Parametreli arabirim sınıfı bildirir. Parametreli bir temsilci bildirir. |
Boş değer atanabilen değer türleri | std::optional<T> |
Platform::IBox <T> |
Skaler tür ve value yapı değişkenlerinin değerine nullptr sahip olmasını sağlar. |