CArray-Klasse
Unterstützt, Arrays, die wie C-Arrays sind, kann jedoch dynamisch reduzieren und bei Bedarf wachsen.
template < class TYPE, class ARG_TYPE = const TYPE& >
class CArray :
public CObject
Parameter
TYPE
Vorlagenparameter, der den Typ von Objekten angibt, gespeicherten im Array. TYPE ist ein Parameter, der von CArray zurückgegeben wird.ARG _ TYPE
Vorlagenparameter, der den Argumenttyp angibt, der verwendet wird, um auf Objekte zuzugreifen, gespeicherten im Array. Häufig ein Verweis auf TYPE. ARG_TYPE ist ein Parameter, der auf CArray übergeben wird.
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein leeres Array. |
Öffentliche Methoden
Name |
Description |
---|---|
Fügt ein Element am Ende des Arrays hinzu; vergrößert das Array. |
|
Fügt ein anderes Array dem Array an; vergrößert das Array ggf. |
|
Kopiert ein anderes Array dem Array; vergrößert das Array. |
|
Gibt einen temporären Verweis auf das Element innerhalb des Arrays zurück. |
|
Gibt alle nicht verwendeten Arbeitsspeicher über der aktuellen Obergrenze frei. |
|
Gibt den Wert an einem angegebenen Index zurück. |
|
Ruft die Anzahl der Elemente in diesem Array ab. |
|
Ermöglicht den Zugriff auf Elemente im Array. Kann NULL. |
|
Ruft die Anzahl der Elemente in diesem Array ab. |
|
Gibt den größten gültigen Index zurück. |
|
Fügt ein Element (oder alle Elemente in anderen Array) zu einem angegebenen Index ein. |
|
Bestimmt, ob das Array leer ist. |
|
Entfernt alle Elemente aus diesem Array. |
|
Entfernt ein Element an einem bestimmten Index. |
|
Legt den Wert für einen angegebenen Index fest; Array nicht zulässig, um vergrößert. |
|
Legt den Wert für einen angegebenen Index fest; vergrößert das Array. |
|
Legt die Anzahl der fest in diesem Array enthalten von Elementen. |
Öffentliche Operatoren
Name |
Description |
---|---|
Legt fest oder ruft das Element am angegebenen Index ab. |
Hinweise
Anfang der Arrayindizes immer an Position 0. Sie können entscheiden, ob die Obergrenze korrigiert oder das Array ermöglicht, zu erweitern, wenn Sie Elemente hinter der Stromgrenze hinzufügen. Arbeitsspeicher wird nacheinander zur Obergrenze zugeordnet, selbst wenn einige Elemente NULL sind.
Hinweis
Die meisten Methoden, die ein Objekt CArray Größe oder Elemente ihm Verwendung memcpy_s Verschiebungselementen hinzufügen.Dieses Problem ist, da memcpy_s nicht mit allen Objekten kompatibel ist, die den Konstruktor benötigen aufgerufen werden.Wenn die Elemente in CArray nicht mit memcpy_s kompatibel sind, müssen Sie neue CArray der entsprechenden Größe erstellen.Sie müssen CArray::Copy und CArray::SetAt dann verwenden, um das neue Array aufgefüllt, da diese Methoden einen Zuweisungsoperator anstelle memcpy_s verwenden.
Wie bei Wechselstrom-Array, ist die Zugriffsgeschwindigkeit für ein CArray indiziertes Element konstant und ist unabhängig von der Arraygröße.
Tipp
Vor der Verwendung eines Arrays, verwenden Sie SetSize, um die Größe und für sie Speicher reserviert.Wenn Sie nicht SetSize verwenden, wird das Hinzufügen von Elementen zu dem Array es, mehrfach neu zugeordnet werden und kopiert werden.Allgemeine Neuzuordnung und das Kopieren sind ineffizient und können Arbeitsspeicher fragmentieren.
Wenn Sie eine Dumpdatei einzelner Elemente in einem Array benötigen, müssen Sie die Tiefe des CDumpContext-Objekts auf 1 festlegen oder größer ist.
Bestimmte Memberfunktionen dieser Klasse rufen globale Hilfsfunktionen auf, die für die meisten Verwendungsmöglichkeiten der Klasse CArray angepasst werden müssen. Weitere Informationen finden Sie im Thema Auflistungsklassen-Hilfen im MFC-Makro- und -Werteabschnitt.
Arrayklassenableitung ist wie Listenableitung.
Weitere Informationen dazu, wie CArray, finden Sie im Artikel Auflistungen verwendet.
Vererbungshierarchie
CArray
Anforderungen
Header: afxtempl.h