Referensi Cepat (C++/CX)

Windows Runtime mendukung aplikasi Platform Windows Universal (UWP). Aplikasi ini hanya dijalankan di lingkungan sistem operasi yang dapat dipercaya, menggunakan fungsi resmi, jenis data, dan perangkat, dan didistribusikan melalui Microsoft Store. C++/CX menyederhanakan penulisan aplikasi untuk Windows Runtime. Artikel ini adalah referensi cepat; untuk dokumentasi yang lebih lengkap, lihat Sistem jenis.

Saat Anda membangun di baris perintah, gunakan /ZW opsi pengkompilasi untuk membangun aplikasi UWP atau komponen Windows Runtime. Untuk mengakses deklarasi Windows Runtime, yang ditentukan dalam file metadata Windows Runtime (.winmd), tentukan #using direktif atau /FU opsi pengkompilasi. Saat Anda membuat proyek untuk aplikasi UWP, Visual Studio secara default mengatur opsi ini dan menambahkan referensi ke semua pustaka Windows Runtime.

Referensi cepat

Konsep C++ Standar C++/CX Keterangan
Jenis-jenis dasar Jenis dasar C++. Jenis dasar C++/CX yang menerapkan jenis dasar yang ditentukan dalam Windows Runtime. Namespace default berisi jenis dasar bawaan C++/CX. Pengkompilasi secara implisit memetakan jenis dasar C++/CX ke jenis C++ standar.

Keluarga Platform namespace berisi jenis yang mengimplementasikan jenis Windows Runtime dasar.
bool bool Nilai Boolean 8-bit.
wchar_t, char16_t char16 Nilai nonnumerik 16-bit yang mewakili titik kode Unicode (UTF-16).
short

unsigned short
int16

uint16
Bilangan bulat bertanda 16-bit.

Bilangan bulat tidak bertanda 16-bit.
int

unsigned int
int

uint32
Bilangan bulat bertanda 32-bit.

Bilangan bulat tidak bertanda 32-bit.
long long -Atau- __int64

unsigned long long
int64

uint64
Bilangan bulat bertanda 64-bit.

Bilangan bulat tidak bertanda 16-bit.
float, double float32, float64 Angka titik mengambang 32-bit atau 64-bit IEEE 754.
enum enum class

-atau-

enum struct
Enumerasi 32-bit.
(Tidak berlaku) Platform::Guid Nilai nonnumerik 128-bit (GUID) di Platform namespace.
std::time_get Windows::Foundation::DateTime Struktur tanggal-waktu.
(Tidak berlaku) Windows::Foundation::TimeSpan Struktur rentang waktu.
(Tidak berlaku) Platform::Object^ Objek dasar yang dihitung referensi dalam tampilan C++ dari sistem jenis Windows Runtime.
std::wstring

L"..."
Platform::String^ Platform::String^ adalah urutan karakter Unicode yang dihitung referensi, tidak dapat diubah, yang mewakili teks.
Penunjuk Penunjuk ke objek (*):

std::shared_ptr
Handle-to-object (^, diucapkan "hat"):

T^ identifier
Semua kelas Windows Runtime dideklarasikan dengan menggunakan pengubah handle-to-object. Anggota objek diakses dengan menggunakan operator akses anggota kelas panah (->).

Pengubah topi berarti "pointer ke objek Windows Runtime yang secara otomatis dihitung referensi." Lebih tepatnya, handle-to-object menyatakan bahwa pengkompilasi harus menyisipkan kode untuk mengelola jumlah referensi objek secara otomatis, dan menghapus objek jika jumlah referensi masuk ke nol
Referensi Referensi ke objek (&):

T& identifier
Referensi pelacakan (%):

T% identifier
Hanya tipe Windows Runtime yang dapat dideklarasikan dengan menggunakan pengubah referensi pelacakan. Anggota objek diakses dengan menggunakan operator akses anggota kelas titik (.).

Referensi pelacakan berarti "referensi ke objek Windows Runtime yang secara otomatis dihitung referensi." Lebih tepatnya, referensi pelacakan menyatakan bahwa pengkompilasi harus menyisipkan kode untuk mengelola jumlah referensi objek secara otomatis. Kode menghapus objek jika jumlah referensi masuk ke nol.
Deklarasi jenis dinamis new ref new Mengalokasikan objek Windows Runtime lalu mengembalikan handel ke objek tersebut.
Manajemen masa pakai objek delete identifier

delete[] identifier
(Memanggil destruktor.) Masa pakai ditentukan oleh penghitungan referensi. Panggilan untuk delete memanggil destruktor tetapi itu sendiri tidak membebaskan memori.
Deklarasi array T identifier[]

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

-Atau-

WriteOnlyArray<T^> identifier( size )
Mendeklarasikan array tipe T^satu dimensi yang dapat dimodifikasi atau hanya tulis . Array itu sendiri juga merupakan objek yang dihitung referensi yang harus dideklarasikan dengan menggunakan pengubah handle-to-object.

(Deklarasi array menggunakan kelas header templat yang ada di Platform namespace.)
Deklarasi kelas class identifier {}

struct identifier {}
ref class identifier {}

ref struct identifier {}
Mendeklarasikan kelas runtime yang memiliki aksesibilitas default private .

Mendeklarasikan kelas runtime yang memiliki aksesibilitas default public .
Deklarasi struktur struct identifier {}

(yaitu, struktur Data Lama Biasa (POD))
value class identifier {}

value struct identifier {}
Mendeklarasikan struktur POD yang memiliki aksesibilitas default private .

value class Dapat diwakili dalam metadata Windows, tetapi C++ class standar tidak bisa.

Mendeklarasikan struktur POD yang memiliki aksesibilitas default public .

value struct Dapat diwakili dalam metadata Windows, tetapi C++ struct standar tidak bisa.
Deklarasi antarmuka kelas abstrak yang hanya berisi fungsi virtual murni. interface class identifier {}

interface struct identifier {}
Mendeklarasikan antarmuka yang memiliki aksesibilitas default private .

Mendeklarasikan antarmuka yang memiliki aksesibilitas default public .
Delegasikan std::function public delegate return-type delegate-type-identifier ([ parameter ]); Mendeklarasikan objek yang dapat dipanggil seperti panggilan fungsi.
Event (Tidak berlaku) event delegate-type-identifier event-identifier;

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

event-identifier += *delegate-identifier;

-atau-

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

-atau-

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

object.event-identifier -= token-identifier;

-atau-

object.event-identifier::remove( token-identifier );
Mendeklarasikan event objek, yang menyimpan kumpulan penanganan aktivitas (delegasi) yang dipanggil saat peristiwa terjadi.

Membuat penanganan aktivitas.

Menambahkan penanganan aktivitas.

Menambahkan penanganan aktivitas mengembalikan token peristiwa (token-identifier). Jika Anda ingin menghapus penanganan aktivitas secara eksplisit, Anda harus menyimpan token peristiwa untuk digunakan nanti.

Menghapus penanganan aktivitas.

Untuk menghapus penanganan aktivitas, Anda harus menentukan token peristiwa yang Anda simpan saat penanganan aktivitas ditambahkan.
Properti (Tidak berlaku) property T identifier;

property T identifier[ index ];

property T default[ index ];
Menyatakan bahwa fungsi anggota kelas atau objek diakses dengan menggunakan sintaks yang sama yang digunakan untuk mengakses anggota data atau elemen array terindeks.

Mendeklarasikan properti pada fungsi anggota kelas atau objek.

Mendeklarasikan properti terindeks pada fungsi anggota objek.

Mendeklarasikan properti terindeks pada fungsi anggota kelas.
Jenis berparameter templat generic <typename T> interface class identifier {}

generic <typename T > delegate[return-type]delegate-identifier() {}
Mendeklarasikan kelas antarmuka berparameter.

Mendeklarasikan delegasi berparameter.
Jenis nilai yang dapat diubah ke null std::optional<T> Platform::IBox <T> Memungkinkan variabel jenis skalar dan value struktur memiliki nilai nullptr.

Baca juga

Referensi bahasa C++/CX