Sdílet prostřednictvím


Kolekce

Knihovny Microsoft Foundation Class poskytuje kolekci třídy ke správě skupin objektů.Tyto třídy jsou dva typy:

  • Kolekce třídy vytvořené ze šablony jazyka C++

  • Kolekce třídy nebyla vytvořena z šablony

[!POZNÁMKA]

Pokud váš kód již používá kolekce tříd nontemplate, mohou nadále používat.Zápis nových tříd bezpečné typ kolekce pro vlastní datové typy, doporučujeme používat novější tříd založených na šabloně.

Kolekce obrazců

Kolekce třídy se vyznačuje jeho "tvar" a typy jeho prvky.Obrazec odkazuje na způsob objekty jsou uspořádány a uloženy v kolekci.MFC poskytuje tři základní kolekce obrazců: seznamy, maticových a map (slovníky).Můžete vybrat kolekce tvar, který je nejvhodnější pro váš konkrétní problém programování.

Každá ze tří tvarů zadané kolekce je popsána krátce dále v tomto tématu.Porovnání funkcí obrazce, které vám pomohou rozhodnout, která je nejvhodnější pro váš program, viz Doporučení pro výběr třídy kolekce.

  • Seznam

    Třída seznam poskytuje objednané neindexovaných seznam prvků, které jsou implementovány jako dvakrát propojeného seznamu.Seznam obsahuje "hlavy" a "zadní" a je velmi rychlé přidání nebo odebrání prvků z hlavy nebo ocasu, nebo vložení nebo odstranění prvků uprostřed.

  • Pole

    Třída array poskytuje dynamicky podle velikosti, objednané a celé indexované pole objektů.

  • Mapa (také známé jako slovníku)

    Mapa je kolekce, která přidružuje objekt hodnoty klíče objektu.

Kolekce třídy založený na šabloně

Nejjednodušší způsob provedení bezpečné typ kolekce obsahující objekty typu je použití jedné ze tříd MFC založený na šabloně.Příklady těchto tříd naleznete v tématu MFC vzorku SHROMÁŽDĚNÍ.

Následující tabulka uvádí tříd MFC kolekce založené na šabloně.

Kolekce třídy šablon

Obsah kolekce

Matice

Seznamy

Mapy

Kolekce objektů libovolného typu

CArray

CList

CMap

Kolekce objektů libovolného typu ukazatele

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

Kolekce třídy, které nejsou založeny na šablonách

Pokud již aplikace používá nontemplate tříd MFC, mohou nadále používat.Pro nové kolekce doporučujeme však používat tříd založených na šabloně.Následující tabulka uvádí kolekce tříd MFC, které nejsou založeny na šablonách.

Kolekce třídy nontemplate

Matice

Seznamy

Mapy

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

Tabulka charakteristiky z MFC kolekce tříd v Doporučení pro výběr třídy kolekce popisuje kolekce tříd MFC z hlediska těchto charakteristik (jiné než obrazec):

  • Zda používá třída šablony jazyka C++

  • Zda lze serializovat prvky v kolekci uloženo

  • Zda lze vypsat prvky v kolekci uloženo pro diagnostiku

  • Je bezpečné typ kolekce

942860sh.collapse_all(cs-cz,VS.110).gifCo chcete udělat?

942860sh.collapse_all(cs-cz,VS.110).gifKolekce třídy Obecné úkoly

942860sh.collapse_all(cs-cz,VS.110).gifKolekce třídy úloh založených na šablonu

942860sh.collapse_all(cs-cz,VS.110).gifPřístup ke kolekci členů (založený na šabloně nebo ne)

Viz také

Koncepty

Obecná témata MFC

Další zdroje

Koncepty MFC