Dela via


CTypedPtrArray-klass

Tillhandahåller en typsäker "wrapper" för objekt i klassen CPtrArray eller CObArray.

Syntax

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

Parameterar

BASE_CLASS
Basklass för den typerade pekarmatrisklassen. måste vara en matrisklass (CObArray eller CPtrArray).

TYP
Typ av element som lagras i basklassmatrisen.

Medlemmar

Offentliga metoder

Namn Beskrivning
CTypedPtrArray::Lägg till Lägger till ett nytt element i slutet av en matris. Växer matrisen om det behövs
CTypedPtrArray::Lägg till Lägger till innehållet i en matris i slutet av en annan. Växer matrisen om det behövs
CTypedPtrArray::Copy Kopierar en annan matris till matrisen. växer matrisen om det behövs.
CTypedPtrArray::ElementAt Returnerar en tillfällig referens till elementpekaren i matrisen.
CTypedPtrArray::GetAt Returnerar värdet vid ett angivet index.
CTypedPtrArray::InsertAt Infogar ett element (eller alla element i en annan matris) vid ett angivet index.
CTypedPtrArray::SetAt Anger värdet för ett visst index. matrisen får inte växa.
CTypedPtrArray::SetAtGrow Anger värdet för ett visst index. växer matrisen om det behövs.

Offentliga operatörer

Namn Beskrivning
CTypedPtrArray::operator [ ] Anger eller hämtar elementet vid det angivna indexet.

Anmärkningar

När du använder CTypedPtrArray i stället för CPtrArray eller CObArrayhjälper funktionen för C++-typkontroll till att eliminera fel som orsakas av felmatchade pekartyper.

Dessutom utför omslutningen CTypedPtrArray mycket av den gjutning som skulle krävas om du använde CObArray eller CPtrArray.

Eftersom alla CTypedPtrArray funktioner är infogade påverkar användningen av den här mallen inte kodens storlek eller hastighet avsevärt.

Mer information om hur du använder CTypedPtrArrayfinns i artiklarna Samlingar och Template-Based klasser.

Arvshierarki

BASE_CLASS

CTypedPtrArray

Kravspecifikation

Rubrik: afxtempl.h

CTypedPtrArray::Lägg till

Den här medlemsfunktionen anropar BASE_CLASS::Add.

INT_PTR Add(TYPE newElement);

Parameterar

TYP
Mallparameter som anger vilken typ av element som ska läggas till i matrisen.

newElement
Elementet som ska läggas till i den här matrisen.

Returvärde

Indexet för det tillagda elementet.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::Add.

CTypedPtrArray::Lägg till

Den här medlemsfunktionen anropar BASE_CLASS::Append**.

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

Parameterar

BASE_CLASS
Basklass för den typerade pekarmatrisklassen. måste vara en matrisklass ( CObArray eller CPtrArray).

TYP
Typ av element som lagras i basklassmatrisen.

Src
Källa för de element som ska läggas till i en matris.

Returvärde

Indexet för det första bifogade elementet.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::Lägg till.

CTypedPtrArray::Copy

Den här medlemsfunktionen anropar BASE_CLASS::Copy.

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

Parameterar

BASE_CLASS
Basklass för den typerade pekarmatrisklassen. måste vara en matrisklass ( CObArray eller CPtrArray).

TYP
Typ av element som lagras i basklassmatrisen.

Src
Källa för de element som ska kopieras till en matris.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::Copy.

CTypedPtrArray::ElementAt

Den här infogade funktionen anropar BASE_CLASS::ElementAt.

TYPE& ElementAt(INT_PTR nIndex);

Parameterar

TYP
Mallparameter som anger vilken typ av element som lagras i den här matrisen.

nIndex
Ett heltalsindex som är större än eller lika med 0 och mindre än eller lika med det värde som returneras av BASE_CLASS::GetUpperBound.

Returvärde

En tillfällig referens till elementet på den plats som anges av nIndex. Det här elementet är av den typ som anges av mallparametern TYPE.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::ElementAt.

CTypedPtrArray::GetAt

Den här infogade funktionen anropar BASE_CLASS::GetAt.

TYPE GetAt(INT_PTR nIndex) const;

Parameterar

TYP
Mallparameter som anger vilken typ av element som lagras i matrisen.

nIndex
Ett heltalsindex som är större än eller lika med 0 och mindre än eller lika med det värde som returneras av BASE_CLASS::GetUpperBound.

Returvärde

En kopia av elementet på den plats som anges av nIndex. Det här elementet är av den typ som anges av mallparametern TYPE.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::GetAt

CTypedPtrArray::InsertAt

Den här medlemsfunktionen anropar BASE_CLASS::InsertAt.

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

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

Parameterar

nIndex
Ett heltalsindex som kan vara större än det värde som returneras av CObArray::GetUpperBound.

TYP
Typ av element som lagras i basklassmatrisen.

newElement
Objektpekaren som ska placeras i den här matrisen. Ett nyttElement av värdet NULL tillåts.

nCount
Antalet gånger som det här elementet ska infogas (standardvärdet är 1).

nStartIndex
Ett heltalsindex som kan vara större än värdet som returneras av CObArray::GetUpperBound.

BASE_CLASS
Basklass för den typerade pekarmatrisklassen. måste vara en matrisklass ( CObArray eller CPtrArray).

pNewArray
En annan matris som innehåller element som ska läggas till i den här matrisen.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::InsertAt.

CTypedPtrArray::operator [ ]

Dessa infogade operatorer anropar BASE_CLASS::operator [ ].

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

Parameterar

TYP
Mallparameter som anger vilken typ av element som lagras i matrisen.

nIndex
Ett heltalsindex som är större än eller lika med 0 och mindre än eller lika med det värde som returneras av BASE_CLASS::GetUpperBound.

Anmärkningar

Den första operatorn, som anropas för matriser som inte constär , kan användas till höger (r-value) eller till vänster (l-värde) för en tilldelningsinstruktor. Den andra, som anropas för const matriser, kan endast användas till höger.

Felsökningsversionen av biblioteket anger om den nedsänkta (antingen till vänster eller höger sida av en tilldelningsinstruktor) ligger utanför gränserna.

CTypedPtrArray::SetAt

Den här medlemsfunktionen anropar BASE_CLASS::SetAt.

void SetAt(
    INT_PTR nIndex,
    TYPE ptr);

Parameterar

nIndex
Ett heltalsindex som är större än eller lika med 0 och mindre än eller lika med det värde som returneras av CObArray::GetUpperBound.

TYP
Typ av element som lagras i basklassmatrisen.

ptr
En pekare till elementet som ska infogas i matrisen vid nIndex. Ett NULL-värde tillåts.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::SetAt.

CTypedPtrArray::SetAtGrow

Den här medlemsfunktionen anropar BASE_CLASS::SetAtGrow.

void SetAtGrow(
    INT_PTR nIndex,
    TYPE newElement);

Parameterar

nIndex
Ett heltalsindex som är större än eller lika med 0.

TYP
Typ av element som lagras i basklassmatrisen.

newElement
Objektpekaren som ska läggas till i den här matrisen. Ett NULL-värde tillåts.

Anmärkningar

Mer detaljerade kommentarer finns i CObArray::SetAtGrow.

Se även

MFC Sample COLLECT
hierarkidiagram
CPtrArray-klass
CObArray-klass