Udostępnij za pośrednictwem


Klasa CTypedPtrArray

Zapewnia bezpieczną dla typu "otokę" dla obiektów klasy CPtrArray lub CObArray.

Składnia

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

Parametry

BASE_CLASS
Klasa podstawowa klasy tablicy wskaźnika wpisanego; musi być klasą tablicy ( CObArray lub CPtrArray).

TYPU
Typ elementów przechowywanych w tablicy klas bazowych.

Członkowie

Metody publiczne

Nazwa/nazwisko opis
CTypedPtrArray::Add Dodaje nowy element na końcu tablicy. Zwiększa tablicę w razie potrzeby
CTypedPtrArray::Append Dodaje zawartość jednej tablicy na końcu innej. Zwiększa tablicę w razie potrzeby
CTypedPtrArray::Copy Kopiuje kolejną tablicę do tablicy; w razie potrzeby zwiększa tablicę.
CTypedPtrArray::ElementAt Zwraca tymczasowe odwołanie do wskaźnika elementu w tablicy.
CTypedPtrArray::GetAt Zwraca wartość dla danego indeksu.
CTypedPtrArray::InsertAt Wstawia element (lub wszystkie elementy w innej tablicy) w określonym indeksie.
CTypedPtrArray::SetAt Ustawia wartość dla danego indeksu; tablica nie może rosnąć.
CTypedPtrArray::SetAtGrow Ustawia wartość dla danego indeksu; w razie potrzeby zwiększa tablicę.

Operatory publiczne

Nazwa/nazwisko opis
CTypedPtrArray::operator [ ] Ustawia lub pobiera element w określonym indeksie.

Uwagi

W przypadku używania CTypedPtrArray funkcji sprawdzania typów zamiast CPtrArray lub CObArray, funkcja sprawdzania typów języka C++ pomaga wyeliminować błędy spowodowane niezgodnymi typami wskaźników.

Ponadto CTypedPtrArray otoka wykonuje znaczną część rzutowania, która byłaby wymagana w przypadku użycia CObArray lub CPtrArray.

Ponieważ wszystkie CTypedPtrArray funkcje są wbudowane, użycie tego szablonu nie wpływa znacząco na rozmiar lub szybkość kodu.

Aby uzyskać więcej informacji na temat korzystania z programu CTypedPtrArray, zobacz artykuły Kolekcje i Klasy oparte na szablonach.

Hierarchia dziedziczenia

BASE_CLASS

CTypedPtrArray

Wymagania

Nagłówek: afxtempl.h

CTypedPtrArray::Add

Ta funkcja składowa wywołuje metodę BASE_CLASS::Add.

INT_PTR Add(TYPE newElement);

Parametry

TYPU
Parametr szablonu określający typ elementu, który ma zostać dodany do tablicy.

newElement
Element, który ma zostać dodany do tej tablicy.

Wartość zwracana

Indeks dodanego elementu.

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::Add.

CTypedPtrArray::Append

Ta funkcja składowa wywołuje metodę BASE_CLASS::Append**.

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

Parametry

BASE_CLASS
Klasa podstawowa klasy tablicy wskaźnika wpisanego; musi być klasą tablicy ( CObArray lub CPtrArray).

TYPU
Typ elementów przechowywanych w tablicy klas bazowych.

Src
Źródło elementów do dołączenia do tablicy.

Wartość zwracana

Indeks pierwszego dołączonego elementu.

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::Append.

CTypedPtrArray::Copy

Ta funkcja składowa wywołuje metodę BASE_CLASS::Copy.

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

Parametry

BASE_CLASS
Klasa podstawowa klasy tablicy wskaźnika wpisanego; musi być klasą tablicy ( CObArray lub CPtrArray).

TYPU
Typ elementów przechowywanych w tablicy klas bazowych.

Src
Źródło elementów do skopiowania do tablicy.

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::Copy.

CTypedPtrArray::ElementAt

Ta funkcja śródliniowa wywołuje metodę BASE_CLASS::ElementAt.

TYPE& ElementAt(INT_PTR nIndex);

Parametry

TYPU
Parametr szablonu określający typ elementów przechowywanych w tej tablicy.

Nindex
Indeks liczby całkowitej, który jest większy lub równy 0 i mniejszy lub równy wartości zwracanej przez BASE_CLASS::GetUpperBound.

Wartość zwracana

Tymczasowe odwołanie do elementu w lokalizacji określonej przez nIndex. Ten element jest typu określonego przez typ parametru szablonu TYPE.

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::ElementAt.

CTypedPtrArray::GetAt

Ta funkcja śródliniowa wywołuje metodę BASE_CLASS::GetAt.

TYPE GetAt(INT_PTR nIndex) const;

Parametry

TYPU
Parametr szablonu określający typ elementów przechowywanych w tablicy.

Nindex
Indeks liczby całkowitej, który jest większy lub równy 0 i mniejszy lub równy wartości zwracanej przez BASE_CLASS::GetUpperBound.

Wartość zwracana

Kopia elementu w lokalizacji określonej przez nIndex. Ten element jest typu określonego przez typ parametru szablonu TYPE.

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::GetAt

CTypedPtrArray::InsertAt

Ta funkcja składowa wywołuje metodę BASE_CLASS::InsertAt.

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

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

Parametry

Nindex
Indeks liczb całkowitych, który może być większy niż wartość zwracana przez element CObArray::GetUpperBound.

TYPU
Typ elementów przechowywanych w tablicy klas bazowych.

newElement
Wskaźnik obiektu, który ma zostać umieszczony w tej tablicy. Nowy Element wartości NULL jest dozwolony.

Ncount
Liczba wstawień tego elementu (wartość domyślna to 1).

nStartIndex
Indeks liczby całkowitej, który może być większy niż wartość zwracana przez CObArray::GetUpperBoundwartość .

BASE_CLASS
Klasa podstawowa klasy tablicy wskaźnika wpisanego; musi być klasą tablicy ( CObArray lub CPtrArray).

pNewArray
Kolejna tablica zawierająca elementy do dodania do tej tablicy.

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::InsertAt.

CTypedPtrArray::operator [ ]

Te operatory wbudowane wywołają metodę BASE_CLASS::operator [ ].

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

Parametry

TYPU
Parametr szablonu określający typ elementów przechowywanych w tablicy.

Nindex
Indeks liczby całkowitej, który jest większy lub równy 0 i mniejszy lub równy wartości zwracanej przez BASE_CLASS::GetUpperBound.

Uwagi

Pierwszy operator, wywoływany dla tablic, które nie constsą , można użyć po prawej stronie (r-value) lub lewej (l-value) instrukcji przypisania. Drugi, wywoływany dla const tablic, może być używany tylko po prawej stronie.

Wersja debugowania biblioteki potwierdza, czy indeks dolny (po lewej lub prawej stronie instrukcji przypisania) jest poza granicami.

CTypedPtrArray::SetAt

Ta funkcja składowa wywołuje metodę BASE_CLASS::SetAt.

void SetAt(
    INT_PTR nIndex,
    TYPE ptr);

Parametry

Nindex
Indeks liczb całkowitych, który jest większy lub równy 0 i mniejszy niż lub równy wartości zwracanej przez CObArray::GetUpperBound.

TYPU
Typ elementów przechowywanych w tablicy klas bazowych.

ptr
Wskaźnik do elementu, który ma zostać wstawiony w tablicy w nIndex. Dozwolona jest wartość NULL.

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::SetAt.

CTypedPtrArray::SetAtGrow

Ta funkcja składowa wywołuje metodę BASE_CLASS::SetAtGrow.

void SetAtGrow(
    INT_PTR nIndex,
    TYPE newElement);

Parametry

Nindex
Indeks liczby całkowitej, który jest większy lub równy 0.

TYPU
Typ elementów przechowywanych w tablicy klas bazowych.

newElement
Wskaźnik obiektu, który ma zostać dodany do tej tablicy. Dozwolona jest wartość NULL .

Uwagi

Aby uzyskać bardziej szczegółowe uwagi, zobacz CObArray::SetAtGrow.

Zobacz też

Przykład MFC COLLECT
Wykres hierarchii
Klasa CPtrArray
Klasa CObArray