Auflistungen
Die Microsoft Foundation Class-Bibliothek enthält Auflistungsklassen, um Gruppen von Objekten zu verwalten. Diese Klassen sind von zweierlei Typen:
Auflistungsklassen erstellt von C++-Vorlagen
Auflistungsklassen erstellt nicht Vorlagen
Hinweis
Wenn der Code bereits nicht auf Vorlagen basierende MFC-Auflistungsklassen verwendet, können Sie weiterhin, um sie zu verwenden.Wenn Sie neue typsichere für Auflistungsklassen eigener Datentypen schreiben, wird empfohlen, die späteren vorlagenbasierten Klassen verwenden.
Auflistungs-Formen
Eine Auflistungsklasse wird durch die "Form" und die Typen seiner Elemente bezeichnet. Die Form wird die Methode an, die die Objekte von der Auflistung organisiert und gespeichert werden. MFC enthält drei grundlegende Auflistungsformen: Listen, Arrays und Zuordnungen (auch Wörterbücher). Sie können die Auflistungsform auswählen, die höchst zu dem bestimmten Programmierung Problem verarbeiten.
Jede der drei bereitgestellten Auflistungsformen wird kurz weiter unten in diesem Thema beschrieben. Um die Funktionen der Formen zu vergleichen Sie Informationen entscheiden das für das Programm am besten geeignet ist, finden Sie unter Empfehlungen für die Auswahl einer Sammlungsklasse.
List
Die Listenklasse stellt eine geordnete, nicht indizierte Elementliste, doppelt implementiert als verknüpfte Liste. Eine Liste hat einen "Kopf" und ein "Ende," und Elemente im head-Teil oder vom Ende Hinzufügen bzw. Entfernen oder Elemente in der Mitte Einfügen oder Löschen, ist sehr schnell.
Array
Die Arrayklasse stellt ein skaliertes dynamisch, bestelltes und Zahl-indiziertes Objektarray.
Zuordnung (auch als Wörterbuch)
Eine Zuordnung ist eine Auflistung, die ein Schlüsselobjekt mit einem Wertobjekt zuordnet.
Die Vorlage gebildeten Auflistungsklassen
Die einfachste Methode, eine typsichere Auflistung zu implementieren, die Objekte eines Typs enthält, ist, eine der vorlagenbasierten Klassen MFC verwenden. Beispiele dieser Klassen finden Sie im MFC-Beispiel COLLECT Sie.
In der folgenden Tabelle sind die auf Vorlagen basierenden Auflistungsklassen auf MFC.
Auflistungs-Vorlagenklassen
Auflistungsinhalt |
Arrays |
Listen |
Zuordnungen |
---|---|---|---|
Auflistungen Objekte von einem Typ |
CArray |
CList |
CMap |
Auflistungen Zeiger auf Objekte von allen Typen |
CTypedPtrArray |
CTypedPtrList |
CTypedPtrMap |
Die Auflistungsklassen nicht basierend auf Vorlagen
Wenn die Anwendung bereits nicht auf Vorlagen basierende Klassen von MFC verwendet, können Sie weiterhin, um sie zu verwenden. Für neue Auflistungen, wird empfohlen, die auf Vorlagen basierenden Klassen verwenden. Die folgende Tabelle zeigt die MFC-Auflistungsklassen auf, die nicht auf Vorlagen basieren.
Nicht auf Vorlagen basierende MFC-Auflistungsklassen
Arrays |
Listen |
Zuordnungen |
---|---|---|
CObArray |
CObList |
CMapPtrToWord |
CByteArray |
CPtrList |
CMapPtrToPtr |
CDWordArray |
CStringList |
CMapStringToOb |
CPtrArray |
|
CMapStringToPtr |
CStringArray |
|
CMapStringToString |
CWordArray |
|
CMapWordToOb |
CUIntArray |
|
CMapWordToPtr |
Die Eigenschaften der MFC-Auflistungsklassentabelle in Empfehlungen für die Auswahl einer Sammlungsklasse beschreiben die MFC-Auflistungsklassen im Hinblick auf diese Eigenschaften (außer Form):
Ob der Klasse C++-Vorlagen verwendet
Ob die Elemente, die in der Auflistung gespeichert werden, serialisiert werden können
Ob die Elemente, die in der Auflistung gespeichert werden, für Diagnose gesichert werden können
Ob die Auflistung ist typsicher