CTypedPtrArray-Klasse
Stellt einen typsicheren Wrapper für Objekte der Klasse CPtrArray
oder CObArray
bereit.
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
, CPtrArray
CObArray
kö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 CTypedPtrArray
finden 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