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:

Dekont

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 Öneriler.

  • List

    list sınıfı, ikiye kat bağlantı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)

    Eşleme, bir anahtar nesneyi bir değer nesnesiyle ilişkilendiren bir koleksiyondur.

Şablon Tabanlı 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.

Ortak Olmayan Koleksiyon Sınıfları

Diziler Listeler Haritalar
CObArray CObList CMapPtrToWord
CByteArray CPtrList CMapPtrToPtr
CDWordArray CStringList CMapStringToOb
CPtrArray CMapStringToPtr
CStringArray CMapStringToString
CWordArray CMapWordToOb
CUIntArray CMapWordToPtr

Bir Koleksiyon Sınıfı Seçme için Öneriler MFC Koleksiyon Sınıfları tablosunun Özellikleri, 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 Koleksiyon Sınıfı Görevleri

Şablon Tabanlı Koleksiyon Sınıfı Görevleri

Koleksiyonun Üyelerine Erişme (Şablon Tabanlı veya Değil)

Ayrıca bkz.

Kavramlar
Genel MFC Konuları