Freigeben über


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

CArray::CArray

Erstellt ein leeres Array.

Öffentliche Methoden

Name

Description

CArray::Add

Fügt ein Element am Ende des Arrays hinzu; vergrößert das Array.

CArray::Append

Fügt ein anderes Array dem Array an; vergrößert das Array ggf.

CArray::Copy

Kopiert ein anderes Array dem Array; vergrößert das Array.

CArray::ElementAt

Gibt einen temporären Verweis auf das Element innerhalb des Arrays zurück.

CArray::FreeExtra

Gibt alle nicht verwendeten Arbeitsspeicher über der aktuellen Obergrenze frei.

CArray::GetAt

Gibt den Wert an einem angegebenen Index zurück.

CArray::GetCount

Ruft die Anzahl der Elemente in diesem Array ab.

CArray::GetData

Ermöglicht den Zugriff auf Elemente im Array. Kann NULL.

CArray::GetSize

Ruft die Anzahl der Elemente in diesem Array ab.

CArray::GetUpperBound

Gibt den größten gültigen Index zurück.

CArray::InsertAt

Fügt ein Element (oder alle Elemente in anderen Array) zu einem angegebenen Index ein.

CArray::IsEmpty

Bestimmt, ob das Array leer ist.

CArray::RemoveAll

Entfernt alle Elemente aus diesem Array.

CArray::RemoveAt

Entfernt ein Element an einem bestimmten Index.

CArray::SetAt

Legt den Wert für einen angegebenen Index fest; Array nicht zulässig, um vergrößert.

CArray::SetAtGrow

Legt den Wert für einen angegebenen Index fest; vergrößert das Array.

CArray::SetSize

Legt die Anzahl der fest in diesem Array enthalten von Elementen.

Öffentliche Operatoren

Name

Description

CArray::operator []

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

CObject

CArray

Anforderungen

Header: afxtempl.h

Siehe auch

Referenz

CObject-Klasse

Hierarchiediagramm

CObArray-Klasse

Konzepte

MFC-Beispiel COLLECT

Weitere Ressourcen

Hilfsfunktionen für die Auflistungsklasse