Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Foundation Sınıf Kitaplığı, nesne gruplarını yönetmek için koleksiyon sınıfları sağlar. Bu sınıflar iki türdedir:
Uyarı
Kodunuz zaten ortak olmayan koleksiyon sınıflarını kullanıyorsa, bunları kullanmaya devam edebilirsiniz. Kendi veri türleriniz için yeni tür güvenli koleksiyon sınıfları yazarsanız, daha yeni şablon tabanlı sınıfları kullanmanızı öneririz.
Koleksiyon Şekilleri
Koleksiyon sınıfı, "şekli" ve öğelerinin türleriyle karakterize edilir. Şekil, nesnelerin koleksiyon tarafından düzenlenip depolanma şeklini ifade eder. MFC üç temel koleksiyon şekli sağlar: listeler, diziler ve haritalar (sözlük olarak da bilinir). Belirli bir programlama sorununuz için en uygun koleksiyon şeklini seçebilirsiniz.
Sağlanan üç koleksiyon şeklinin her biri, bu konunun ilerleyen bölümlerinde kısaca açıklanmıştır. Programınızın en iyi özelliklerini belirlemenize yardımcı olacak şekillerin özelliklerini karşılaştırmak için bkz. Koleksiyon Sınıfı Seçme Önerileri.
Liste
List sınıfı, çift bağlı liste olarak uygulanan sıralı, dizinlenmemiş bir öğe listesi sağlar. Listenin "başı" ve "kuyruğu" vardır ve baş veya kuyruktan öğe ekleme veya çıkarma ya da ortaya öğe ekleme veya silme işlemleri çok hızlıdır.
Dizi
Dizi sınıfı dinamik olarak boyutlandırılmış, sıralı ve tamsayı dizinli bir nesne dizisi sağlar.
Harita (sözlük olarak da bilinir)
Bir harita, bir anahtar nesneyi bir değer nesnesiyle ilişkilendiren bir koleksiyondur.
Template-Based Koleksiyon Sınıfları
Herhangi bir türdeki nesneleri içeren tür güvenli bir koleksiyon uygulamanın en kolay yolu, MFC şablon tabanlı sınıflardan birini kullanmaktır. Bu sınıfların örnekleri için bkz. MFC örneği COLLECT.
Aşağıdaki tabloda MFC şablon tabanlı koleksiyon sınıfları listelenmiştir.
Koleksiyon Şablonu Sınıfları
| Koleksiyon içeriği | Diziler | Listeler | Haritalar |
|---|---|---|---|
| Herhangi bir türdeki nesne koleksiyonları | CArray |
CList |
CMap |
| Herhangi bir türdeki nesnelere yönelik işaretçi koleksiyonları | CTypedPtrArray |
CTypedPtrList |
CTypedPtrMap |
Şablonlara Dayalı Olmayan Koleksiyon Sınıfları
Uygulamanız zaten MFC ortak olmayan sınıflar kullanıyorsa, bunları kullanmaya devam edebilirsiniz. Ancak, yeni koleksiyonlar için şablon tabanlı sınıfları kullanmanızı öneririz. Aşağıdaki tabloda, şablonları temel almayan MFC koleksiyon sınıfları listelenir.
Şablon Kullanılmayan Koleksiyon Sınıfları
| Diziler | Listeler | Haritalar |
|---|---|---|
CObArray |
CObList |
CMapPtrToWord |
CByteArray |
CPtrList |
CMapPtrToPtr |
CDWordArray |
CStringList |
CMapStringToOb |
CPtrArray |
CMapStringToPtr |
|
CStringArray |
CMapStringToString |
|
CWordArray |
CMapWordToOb |
|
CUIntArray |
CMapWordToPtr |
Koleksiyon Sınıfı Seçme Önerileri'ndeki MFC Koleksiyon Sınıfları tablosunun Özellikleri tablosu, MFC koleksiyon sınıflarını bu özellikler (şekil dışında) açısından açıklar:
Sınıfın C++ şablonları kullanıp kullanmadığı
Koleksiyonda depolanan öğelerin serileştirilip serileştirilemeyeceği
Koleksiyonda depolanan öğelerin tanılama için bırakılıp bırakılamayacağı
Koleksiyonun tür açısından güvenli olup olmadığı