Array, List und Map-Klassen

Für den Umgang mit Daten-Aggregaten, die Bibliothek-Klasse stellt eine Gruppe von Auflistungsklassen — arrays, Listen, und "Karten" —, die eine Vielzahl von Objekt und vordefinierte Typen aufnehmen kann. Die Sammlungen werden dynamisch angepasst. Diese Klassen können in einem Programm verwendet werden, ob oder nicht für Windows geschrieben. Jedoch sind sie besonders für die Implementierung der Datenstrukturen, die Ihre Dokumentklassen in das Application Framework definieren. Sie können spezialisierte Auflistungsklassen leicht daraus ableiten, oder Sie können basierend auf der Vorlage-Klassen erstellen. Weitere Informationen zu diesen Methoden finden Sie im Artikel Sammlungen in Visual C++ Programmer's Guide und Vorlage-Klassen, Arrays, Listen und Karten in dieser Übersicht eine Liste der Vorlage-Auflistungsklassen.

Arrays sind eindimensionale Datenstrukturen, die im Speicher zusammenhängend gespeichert sind. Sie unterstützen sehr schnelle wahlfreien Zugriff, da die Speicheradresse eines gegebenen Elements berechnet werden kann, indem den Index des Elements mit der Größe eines Elements multipliziert und das Ergebnis auf die Basisadresse des Arrays. Aber Arrays sind sehr teuer, wenn Sie Elemente in das Array einfügen müssen, das gesamte Array letzten Elements eingefügt seit verschoben werden, um Platz für das Element eingefügt werden soll. Arrays können wachsen und schrumpfen nach Bedarf.

Listen ähneln Arrays aber sehr unterschiedlich gespeichert. Jedes Element in einer Liste enthält auch einen Zeiger auf die vorherigen und nächsten Elemente, so dass es eine doppelt verknüpfte Liste. Es ist sehr schnell hinzufügen oder Löschen von Elementen, da damit nur beinhaltet ein paar Hinweise zu ändern. Jedoch kann durchsuchen eine Liste teuer sein, da alle Suchvorgänge an einem der Enden der Liste starten müssen.

Karten beziehen einen Schlüsselwert an einen Datenwert. Zum Beispiel könnte der Schlüssel einer Zuordnung eine Zeichenfolge und die Daten einen Zeiger in eine Liste. Sie bitte die Karte, um Sie im Zusammenhang mit einer bestimmten Zeichenfolge Zeiger geben. Karte Suchvorgänge sind schnell, da Karten Hash-Tabellen für Key Lookups verwenden. Hinzufügen und Löschen von Elementen ist auch schnell. Karten werden häufig mit anderen Datenstrukturen als zusätzliche Indizes verwendet. MFC nutzt eine spezielle Art der Karte aufgerufen, einen " Meldungszuordnung" Zuordnen von Windows-Meldungen auf einen Zeiger auf die Handlerfunktion für diese Nachricht.

Index