Freigeben über


CTypedPtrArray-Klasse

Stellt einen typsicheren Wrapper für Objekte der Klasse CPtrArray oder CObArraybereit.

Syntax

template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS

Parameter

BASE_CLASS
Basisklasse der typierten Zeigerarrayklasse; muss eine Arrayklasse ( CObArray oder CPtrArray) sein.

TYPE
Typ der elemente, die im Basisklassenarray gespeichert sind.

Member

Öffentliche Methoden

Name Beschreibung
CTypedPtrArray::Add Fügt am Ende eines Arrays ein neues Element hinzu. Wächst bei Bedarf das Array.
CTypedPtrArray::Append Fügt den Inhalt eines Arrays am Ende eines anderen hinzu. Wächst bei Bedarf das Array.
CTypedPtrArray::Copy Kopiert ein anderes Array in das Array; vergrößert das Array bei Bedarf.
CTypedPtrArray::ElementAt Gibt einen temporären Verweis auf den Elementzeiger innerhalb des Arrays zurück.
CTypedPtrArray::GetAt Gibt den Wert an einem bestimmten Index zurück.
CTypedPtrArray::InsertAt Fügt ein Element (oder alle Elemente in einem anderen Array) am angegebenen Index ein.
CTypedPtrArray::SetAt Legt den Wert für einen bestimmten Index fest; Array darf nicht vergrößert werden.
CTypedPtrArray::SetAtGrow Legt den Wert für einen bestimmten Index fest; vergrößert das Array bei Bedarf.

Öffentliche Operatoren

Name Beschreibung
CTypedPtrArray::operator [ ] Legt das Element am angegebenen Index fest oder ruft es ab.

Hinweise

Wenn Sie die C++-Typüberprüfungseinrichtung verwenden CTypedPtrArray , CPtrArrayCObArraykönnen Sie Fehler beseitigen, die durch nicht übereinstimmende Zeigertypen verursacht werden.

Darüber hinaus führt der CTypedPtrArray Wrapper einen Großteil der Umwandlung aus, die bei Verwendung CObArray oder CPtrArray.

Da alle CTypedPtrArray Funktionen inline sind, wirkt sich die Verwendung dieser Vorlage nicht erheblich auf die Größe oder Geschwindigkeit des Codes aus.

Weitere Informationen zur Verwendung CTypedPtrArrayfinden Sie in den Artikeln Sammlungen und vorlagenbasierten Klassen.

Vererbungshierarchie

BASE_CLASS

CTypedPtrArray

Anforderungen

Header: afxtempl.h

CTypedPtrArray::Add

Diese Memberfunktion ruft ::Add aufBASE_CLASS.

INT_PTR Add(TYPE newElement);

Parameter

TYPE
Vorlagenparameter, der den Typ des Elements angibt, das dem Array hinzugefügt werden soll.

Newelement
Das Element, das diesem Array hinzugefügt werden soll.

Rückgabewert

Der Index des hinzugefügten Elements.

Hinweise

Ausführlichere Hinweise finden Sie unter "CObArray::Add".

CTypedPtrArray::Append

Diese Memberfunktion ruft BASE_CLASS::Append**.

INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);

Parameter

BASE_CLASS
Basisklasse der typierten Zeigerarrayklasse; muss eine Arrayklasse sein ( CObArray oder CPtrArray).

TYPE
Typ der elemente, die im Basisklassenarray gespeichert sind.

src
Quelle der Elemente, die an ein Array angefügt werden sollen.

Rückgabewert

Der Index des ersten angefügten Elements.

Hinweise

Ausführlichere Hinweise finden Sie unter "CObArray::Append".

CTypedPtrArray::Copy

Diese Memberfunktion ruft ::Copy aufBASE_CLASS.

void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);

Parameter

BASE_CLASS
Basisklasse der typierten Zeigerarrayklasse; muss eine Arrayklasse sein ( CObArray oder CPtrArray).

TYPE
Typ der elemente, die im Basisklassenarray gespeichert sind.

src
Quelle der Elemente, die in ein Array kopiert werden sollen.

Hinweise

Ausführlichere Hinweise finden Sie unter "CObArray::Copy".

CTypedPtrArray::ElementAt

Diese Inlinefunktion ruft ::ElementAt aufBASE_CLASS.

TYPE& ElementAt(INT_PTR nIndex);

Parameter

TYPE
Vorlagenparameter, der den Typ der in diesem Array gespeicherten Elemente angibt.

nIndex
Ein ganzzahliger Index, der größer oder gleich 0 und kleiner als oder gleich dem von BASE_CLASS::GetUpperBound zurückgegebenen Wert ist.

Rückgabewert

Ein temporärer Verweis auf das Element an der durch nIndex angegebenen Position. Dieses Element weist den typ auf, der durch den Vorlagenparameter TYPE angegeben wird.

Hinweise

Ausführlichere Hinweise finden Sie unter "CObArray::ElementAt".

CTypedPtrArray::GetAt

Diese Inlinefunktion ruft ::GetAt aufBASE_CLASS.

TYPE GetAt(INT_PTR nIndex) const;

Parameter

TYPE
Vorlagenparameter, der den Typ der im Array gespeicherten Elemente angibt.

nIndex
Ein ganzzahliger Index, der größer oder gleich 0 und kleiner als oder gleich dem von BASE_CLASS::GetUpperBound zurückgegebenen Wert ist.

Rückgabewert

Eine Kopie des Elements an der durch nIndex angegebenen Position. Dieses Element weist den typ auf, der durch den Vorlagenparameter TYPE angegeben wird.

Hinweise

Ausführlichere Hinweise finden Sie unter CObArray::GetAt

CTypedPtrArray::InsertAt

Diese Memberfunktion ruft ::InsertAt aufBASE_CLASS.

void InsertAt(
    INT_PTR nIndex,
    TYPE newElement,
    INT_PTR nCount = 1);

void InsertAt(
    INT_PTR nStartIndex,
    CTypedPtrArray<BASE_CLASS, TYPE>* pNewArray);

Parameter

nIndex
Ein ganzzahliger Index, der größer als der von CObArray::GetUpperBound zurückgegebene Wert sein kann.

TYPE
Typ der elemente, die im Basisklassenarray gespeichert sind.

Newelement
Der Objektzeiger, der in diesem Array platziert werden soll. Ein newElement des Werts NULL ist zulässig.

nCount
Die Häufigkeit, mit der dieses Element eingefügt werden soll (Standardwert ist 1).

nStartIndex
Ein ganzzahliger Index, der größer als der von CObArray::GetUpperBound.

BASE_CLASS
Basisklasse der typierten Zeigerarrayklasse; muss eine Arrayklasse sein ( CObArray oder CPtrArray).

pNewArray
Ein weiteres Array, das Elemente enthält, die diesem Array hinzugefügt werden sollen.

Hinweise

Ausführlichere Hinweise finden Sie unter "CObArray::InsertAt".

CTypedPtrArray::operator [ ]

Diese Inlineoperatoren rufen BASE_CLASS::operator [ ].

TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;

Parameter

TYPE
Vorlagenparameter, der den Typ der im Array gespeicherten Elemente angibt.

nIndex
Ein ganzzahliger Index, der größer oder gleich 0 und kleiner als oder gleich dem von BASE_CLASS::GetUpperBound zurückgegebenen Wert ist.

Hinweise

Der erste Operator, der nicht für Arrays aufgerufen wird const, kann entweder auf der rechten (r-Wert) oder der linken (l-Wert) einer Zuordnungsanweisung verwendet werden. Die zweite, für const Arrays aufgerufene, kann nur auf der rechten Seite verwendet werden.

Die Debugversion der Bibliothek bestätigt, ob das Tiefgestellt (entweder auf der linken oder rechten Seite einer Zuordnungsanweisung) außerhalb der Grenzen liegt.

CTypedPtrArray::SetAt

Diese Memberfunktion ruft ::SetAt aufBASE_CLASS.

void SetAt(
    INT_PTR nIndex,
    TYPE ptr);

Parameter

nIndex
Ein ganzzahliger Index, der größer oder gleich 0 und kleiner als oder gleich dem von CObArray::GetUpperBound zurückgegebenen Wert ist.

TYPE
Typ der elemente, die im Basisklassenarray gespeichert sind.

ptr
Ein Zeiger auf das Element, das in das Array im nIndex eingefügt werden soll. Ein NULL-Wert ist zulässig.

Hinweise

Ausführlichere Hinweise finden Sie unter "CObArray::SetAt".

CTypedPtrArray::SetAtGrow

Diese Memberfunktion ruft ::SetAtGrow aufBASE_CLASS.

void SetAtGrow(
    INT_PTR nIndex,
    TYPE newElement);

Parameter

nIndex
Ein ganzzahliger Index, der größer oder gleich 0 ist.

TYPE
Typ der elemente, die im Basisklassenarray gespeichert sind.

Newelement
Der Objektzeiger, der diesem Array hinzugefügt werden soll. Ein NULL-Wert ist zulässig.

Hinweise

Ausführlichere Hinweise finden Sie unter "CObArray::SetAtGrow".

Siehe auch

MFC Sample COLLECT
Hierarchiediagramm
CPtrArray-Klasse
CObArray-Klasse