Aracılığıyla paylaş


Koleksiyonlar

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ığı

Ne yapmak istiyorsunuz?

Genel Collection-Class Görevleri

Template-Based Collection-Class Görevler

Koleksiyonun Üyelerine Erişme (Template-Based veya Değil)

Ayrıca bakınız

Kavramlar
Genel MFC Konuları