Koleksiyonlar
Microsoft Foundation Class Library nesne gruplarını yönetmek için koleksiyon sınıfları sağlar.Bu sınıflar, iki tür şunlardır:
C++ şablonlardan oluşturulan koleksiyon sınıfları
Koleksiyon sınıfları şablonlardan oluşturulan değil
[!NOT]
Kodunuzun nontemplate koleksiyon sınıfları kullanıyorsa, bunları kullanmaya devam edebilirsiniz.Kendi veri türleri için yeni tür-güvenli koleksiyon sınıfları Yaz, şablona dayalı yeni sınıflar kullanmanızı öneririz.
Toplama şekilleri
Bir koleksiyon sýnýfý, "Şekil" ve öğeleri türlerine göre belirlenir.Şekil nesneleri düzenlenmiş ve topluluk tarafından saklanan biçimini gösterir.mfc üç temel toplama şekilleri sağlar: listeler, diziler ve (sözlük olarak da bilinir) eşler.Belirli programlama sorununuzu en uygunudur toplama şekli seçebilirsiniz.
Her üç sağlanan toplama şekilleri kısaca bu konunun ilerisinde açıklanmıştır.Programınız için en iyi karar vermenize yardımcı olacak şekil özelliklerini karşılaştırmak için bkz: Koleksiyon sýnýfýný seçme önerileri.
Liste
Liste sınıf karakteriyle bağlantılı liste olarak uygulanan öğeleri sıralı, dizine alınmamış bir listesini sağlar.Liste "head" ve "kuyruk" vardır ve ekleme veya kafası veya kuyruğu, ekleme veya Orta öğeleri silme öğeleri kaldırma çok hızlı.
Dizi
Array sınıfı, dinamik boyutlu, sipariş edilen ve tamsayı dizin nesnelerinin dizisi sağlar.
Harita (sözlük olarak da bilinir)
Harita anahtar nesne bir değer nesnesi ile ilişkilendirir topluluğudur.
Şablon tabanlı koleksiyon sınıfları
Herhangi bir türdeki nesneleri içeren bir tür-güvenli koleksiyonu uygulamak için en kolay yolu şablon tabanlı mfc sınıflarından birini kullanmaktır.mfc örnek bu sınıflarının örnekleri için bkz: TOPLAMAK.
Aşağıdaki tabloda, mfc şablon tabanlı koleksiyon sınıflarını listeler.
Koleksiyon şablon sınıfları
Topluluk İçeriği |
Diziler |
Listeler |
Haritalar |
---|---|---|---|
Herhangi bir türdeki nesneleri koleksiyonu |
CArray |
CList |
CMap |
İşaretçiler herhangi bir türdeki nesneleri koleksiyonu |
CTypedPtrArray |
CTypedPtrList |
CTypedPtrMap |
Şablonlara dayalı olmayan koleksiyon sınıfları
mfc nontemplate sınıfları uygulama zaten kullanılıyorsa, bunları kullanmaya devam edebilirsiniz.Ancak, yeni koleksiyonlarını şablona dayalı sınıfları kullanmak öneririz.Aşağıdaki tabloda, şablonlara dayalı olmayan mfc koleksiyon sınıflarını listeler.
Nontemplate koleksiyon sınıfları
Diziler |
Listeler |
Haritalar |
---|---|---|
CObArray |
CObList |
CMapPtrToWord |
CByteArray |
CPtrList |
CMapPtrToPtr |
CDWordArray |
CStringList |
CMapStringToOb |
CPtrArray |
|
CMapStringToPtr |
CStringArray |
|
CMapStringToString |
CWordArray |
|
CMapWordToOb |
CUIntArray |
|
CMapWordToPtr |
Özellikleri, mfc koleksiyon sınıfları tablo içinde Koleksiyon sýnýfýný seçme önerileri (Şekil dışında) bu özellikleri açısından mfc koleksiyon sınıfları açıklar:
C++ şablonları sınıfını kullanıp kullanmadığını
Olup topluluğun içinde depolanan öğeleri seri
Koleksiyon içinde saklanan öğeler için tanılama mi döküldü
Koleksiyon türü için güvenli olup olmadığı