Koleksi
Pustaka Kelas Microsoft Foundation menyediakan kelas koleksi untuk mengelola grup objek. Kelas-kelas ini terdiri dari dua jenis:
Catatan
Jika kode Anda sudah menggunakan kelas koleksi nontemplate, Anda dapat terus menggunakannya. Jika Anda menulis kelas pengumpulan jenis aman baru untuk jenis data Anda sendiri, kami sarankan Anda menggunakan kelas berbasis templat yang lebih baru.
Bentuk Koleksi
Kelas koleksi ditandai dengan "bentuk" dan oleh jenis elemennya. Bentuk mengacu pada cara objek diatur dan disimpan oleh koleksi. MFC menyediakan tiga bentuk koleksi dasar: daftar, array, dan peta (juga dikenal sebagai kamus). Anda dapat memilih bentuk koleksi yang paling cocok dengan masalah pemrograman tertentu Anda.
Masing-masing dari tiga bentuk koleksi yang disediakan dijelaskan secara singkat nanti dalam topik ini. Untuk membandingkan fitur bentuk untuk membantu Anda memutuskan mana yang terbaik untuk program Anda, lihat Rekomendasi untuk Memilih Kelas Koleksi.
Daftar
Kelas daftar menyediakan daftar elemen yang diurutkan dan tidak terindeks, diimplementasikan sebagai daftar tertaut dua kali lipat. Daftar memiliki "kepala" dan "ekor," dan menambahkan atau menghapus elemen dari kepala atau ekor, atau memasukkan atau menghapus elemen di tengah, sangat cepat.
Array
Kelas array menyediakan array objek berukuran dinamis, diurutkan, dan diindeks bilangan bulat.
Peta (juga dikenal sebagai kamus)
Peta adalah koleksi yang mengaitkan objek kunci dengan objek nilai.
Kelas koleksi berbasis templat
Cara term mudah untuk mengimplementasikan koleksi jenis aman yang berisi objek dari jenis apa pun adalah dengan menggunakan salah satu kelas berbasis templat MFC. Untuk contoh kelas ini, lihat sampel MFC COLLECT.
Tabel berikut mencantumkan kelas koleksi berbasis templat MFC.
Kelas Templat Koleksi
Isi koleksi | Larik | Daftar | Maps |
---|---|---|---|
Kumpulan objek dari jenis apa pun | CArray |
CList |
CMap |
Kumpulan pointer ke objek dari jenis apa pun | CTypedPtrArray |
CTypedPtrList |
CTypedPtrMap |
Kelas Koleksi Tidak Berdasarkan Templat
Jika aplikasi Anda sudah menggunakan kelas nontemplate MFC, Anda dapat terus menggunakannya. Namun, untuk koleksi baru, kami sarankan Anda menggunakan kelas berbasis templat. Tabel berikut mencantumkan kelas koleksi MFC yang tidak didasarkan pada templat.
Kelas Koleksi Nontemplate
Larik | Daftar | Maps |
---|---|---|
CObArray |
CObList |
CMapPtrToWord |
CByteArray |
CPtrList |
CMapPtrToPtr |
CDWordArray |
CStringList |
CMapStringToOb |
CPtrArray |
CMapStringToPtr |
|
CStringArray |
CMapStringToString |
|
CWordArray |
CMapWordToOb |
|
CUIntArray |
CMapWordToPtr |
Karakteristik tabel Kelas Koleksi MFC di Rekomendasi untuk Memilih Kelas Koleksi menjelaskan kelas koleksi MFC dalam hal karakteristik ini (selain bentuk):
Apakah kelas menggunakan templat C++
Apakah elemen yang disimpan dalam koleksi dapat diserialisasikan
Apakah elemen yang disimpan dalam koleksi dapat dicadangkan untuk diagnostik
Apakah koleksi berjenis aman