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
).
TYP
Typ elementów przechowywanych w tablicy klas bazowych.
Elementy członkowskie
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
TYP
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).
TYP
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).
TYP
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
TYP
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
TYP
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.
TYP
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::GetUpperBound
wartość .
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
TYP
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 const
są , 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.
TYP
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.
TYP
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