Udostępnij za pośrednictwem


Kolekcje

Biblioteka klas Microsoft Foundation udostępnia klasy kolekcji można zarządzać grupami obiektów.Te klasy są dwa typy:

  • Klasy zbioru utworzone z szablonów języka C++

  • Klasy kolekcji nie zostały utworzone z szablonów

[!UWAGA]

Jeśli kod używa już klasy kolekcji nontemplate, można kontynuować korzystanie z nich.Jeśli piszesz nowych klas bezpiecznego typu kolekcji dla własne typy danych, zaleca się używanie nowsze klas opartych na szablonie.

Kolekcja kształtów

Klasa kolekcji jest określony przez jego "kształt" i typów elementów.Kształt odwołuje się do sposobu obiektów są zorganizowane i przechowywane przez kolekcję.MFC zawiera trzy kształty podstawowe kolekcji: list, tablic i map (znany również jako słowniki).Można wybrać kształt kolekcji, która jest najbardziej odpowiednia dla określonego problemu programowania.

Pokrótce dalej w tym temacie opisano każdy z trzech kształtów podanej kolekcji.Aby porównać funkcje kształtów, aby określić, który jest najlepszy dla programu, zobacz Zalecenia dotyczące wyboru klasy kolekcji.

  • Lista

    Klasy list zawiera uporządkowaną listę nieindeksowanych elementy implementowane jako podwójnie połączonej listy.Lista ma "głową" i "ogona" 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 średnich, uporządkowanej i indeksowane przez całkowitą tablicę obiektów.

  • Mapa (Słownik)

    Mapa jest kolekcja kojarzy obiekt klucza z obiektu wartości.

Klasy zbioru opartych na szablonie

Najłatwiejszym sposobem realizowania zawierającą obiekty dowolnego typu kolekcji typ palety jest użyć jednej z klas MFC opartych na szablonie.Przykłady tych klas można znaleźć w próbce MFC zbierania.

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

Kolekcja szablonu klasy

Zawartość kolekcji

Tablice

Wyświetla listę

Mapy

Kolekcje obiektów dowolnego typu

CArray

CList

CMap

Kolekcje wskaźniki do obiektów dowolnego typu

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

Klasy zbioru nie są oparte na szablonach

Jeśli aplikacja już wykorzystuje MFC nontemplate klasy, można kontynuować korzystanie z nich.Dla nowych kolekcji zaleca używanie klas opartych na szablonie.Poniższa tabela zawiera listę klas MFC kolekcji, które nie są oparte na szablonach.

Klasy zbioru nontemplate

Tablice

Wyświetla listę

Mapy

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

Tabela właściwości MFC, Kolekcja klas w Zalecenia dotyczące wyboru klasy kolekcji zawiera opis klas MFC kolekcji pod względem cech tych (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 można zatopienia Diagnostics

  • Czy kolekcja jest typ palety

942860sh.collapse_all(pl-pl,VS.110).gifCo chcesz zrobić?

942860sh.collapse_all(pl-pl,VS.110).gifKlasa kolekcji ogólne zadania

942860sh.collapse_all(pl-pl,VS.110).gifOparty na szablonie zadania Klasa kolekcji

942860sh.collapse_all(pl-pl,VS.110).gifUzyskiwanie dostępu do członków kolekcji (oparty na szablonie lub nie)

Zobacz też

Koncepcje

Tematy MFC ogólne

Inne zasoby

Pojęcia MFC