Kolekcje

Biblioteka klas Microsoft Foundation udostępnia klasy kolekcji do zarządzania grupami obiektów.Te klasy są dwa typy:

  • W klasach kolekcji utworzone z szablonów języka C++

  • W klasach kolekcji nie są tworzone na podstawie szablonów

[!UWAGA]

Jeśli kod używa już nontemplate kolekcja klas, można nadal z nich korzystać.Jeśli piszesz nowych klas Kolekcja typ palety dla własne typy danych, zaleca się, że używasz nowszej klas opartych na szablonie.

Kolekcja kształtów

Klasa kolekcji charakteryzuje się jego "kształt" i typami jego elementów.Kształt okreola sposób obiekty są zorganizowane i przechowywane przez kolekcję.MFC zawiera trzy kształty podstawowe kolekcji: list, tablic i mapy (znany również jako słowniki).Możesz wybrać kształt kolekcji, który jest najbardziej odpowiednia dla określonego problemu programowania.

Każdy z trzech kształtów Podana kolekcja opisano pokrótce dalej w tym temacie.Aby porównać funkcje kształty, które mają pomóc w podjęciu decyzji, który jest najlepszy dla programu, zobacz Zalecenia dotyczące wybierania klasy kolekcji.

  • List

    Klasy list zawiera zamówione, nieindeksowanych wykaz elementów, zaimplementowany jako podwójnie połączonej listy.Lista "głową" i "ogon" i dodawanie lub usuwanie elementów z głowy lub ogona, lub wstawianie lub usuwanie elementów w środku, jest bardzo szybko.

  • Tablica

    Klasa array zawiera dynamicznie wielkości, uporządkowanej i indeksowane całkowitą tablicy obiektów.

  • Mapa (Słownik)

    Mapa jest kolekcją, który kojarzy obiekt główny z obiektem wartości.

W klasach kolekcji opartych na szablonie

Aby skorzystać z jednej z klas MFC oparty na szablonie jest najłatwiejszym sposobem realizowania Kolekcja typ palety, która zawiera obiekty dowolnego typu.Przykłady tych klas, zobacz próbki MFC zbierania.

Poniższa tabela zawiera listę klas MFC kolekcja opartych na szablonie.

Kolekcja szablonów klas

Zawartość kolekcji

Tablice

Listy

Mapy

Kolekcje obiektów dowolnego typu

CArray

CList

CMap

Kolekcje wskaźniki do obiektów dowolnego typu

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

W klasach kolekcji nie oparte na szablonach

Jeśli aplikacja już używa klasy MFC nontemplate, można było ich używać.Dla nowych kolekcji, zaleca czy używasz klas opartych na szablonie.Poniższa lista zawiera kolekcja klas MFC, które nie są oparte na szablonach.

W klasach kolekcji nontemplate

Tablice

Listy

Mapy

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

W tabeli właściwości klasy zbioru MFC Zalecenia dotyczące wybierania klasy kolekcji zawiera opis klasy MFC kolekcji pod względem tych cech (inne niż kształt):

  • Czy klasa używa szablonów języka C++

  • Czy można szeregować elementy przechowywane w kolekcji

  • Czy elementy przechowywane w kolekcji mogą być składowane Diagnostics

  • Czy kolekcja jest typ palety

Co chcesz zrobić?

Klasa kolekcji ogólne zadania

Klasa kolekcji oparty na szablonie zadania

Uzyskiwanie dostępu do członków kolekcji (oparty na szablonie lub nie)

Zobacz też

Koncepcje

Tematy ogólne dotyczące MFC

Inne zasoby

Pojęcia związane z MFC