CTypedPtrArray – třída
Poskytuje typově bezpečný "obálka" pro objekty třídy CPtrArray
nebo CObArray
.
Syntaxe
template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS
Parametry
BASE_CLASS
Základní třída třídy pole typu ukazatele; musí být maticová třída ( CObArray
nebo CPtrArray
).
TYP
Typ prvků uložených v poli základní třídy
Členové
Veřejné metody
Název | Popis |
---|---|
CTypedPtrArray::Add | Přidá nový prvek na konec pole. V případě potřeby pole zvětšte. |
CTypedPtrArray::Append | Přidá obsah jednoho pole na konec druhého. V případě potřeby pole zvětšte. |
CTypedPtrArray::Copy | Zkopíruje další pole do pole; v případě potřeby pole zvětšuje. |
CTypedPtrArray::ElementAt | Vrátí dočasný odkaz na ukazatel prvku v rámci pole. |
CTypedPtrArray::GetAt | Vrátí hodnotu v daném indexu. |
CTypedPtrArray::InsertAt | Vloží prvek (nebo všechny prvky v jiném poli) do zadaného indexu. |
CTypedPtrArray::SetAt | Nastaví hodnotu pro daný index; pole nelze zvětšit. |
CTypedPtrArray::SetAtGrow | Nastaví hodnotu pro daný index; v případě potřeby pole zvětšuje. |
Veřejné operátory
Název | Popis |
---|---|
CTypedPtrArray::operator [ ] | Nastaví nebo získá prvek v zadaném indexu. |
Poznámky
Pokud používáte CTypedPtrArray
místo CPtrArray
nebo CObArray
, nástroj pro kontrolu typů jazyka C++ pomáhá eliminovat chyby způsobené neshodnými typy ukazatelů.
Kromě toho obálka CTypedPtrArray
provádí většinu přetypování, které by bylo nutné, pokud jste použili CObArray
nebo CPtrArray
.
Vzhledem k tomu, že jsou všechny CTypedPtrArray
funkce vložené, použití této šablony nemá významný vliv na velikost nebo rychlost kódu.
Další informace o použití CTypedPtrArray
naleznete v článcích Kolekce a třídy založené na šablonách.
Hierarchie dědičnosti
BASE_CLASS
CTypedPtrArray
Požadavky
Hlavička: afxtempl.h
CTypedPtrArray::Add
Tato členová funkce volá BASE_CLASS
::Add.
INT_PTR Add(TYPE newElement);
Parametry
TYP
Parametr šablony určující typ prvku, který se má přidat do pole.
newElement
Prvek, který má být přidán do tohoto pole.
Návratová hodnota
Index přidaného prvku.
Poznámky
Podrobnější poznámky naleznete v tématu CObArray::Add.
CTypedPtrArray::Append
Tato členová funkce volá BASE_CLASS
::Append**.
INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Parametry
BASE_CLASS
Základní třída třídy pole typu ukazatele; musí být maticová třída ( CObArray nebo CPtrArray).
TYP
Typ prvků uložených v poli základní třídy
Src
Zdroj prvků, které mají být připojeny k poli.
Návratová hodnota
Index prvního připojeného prvku.
Poznámky
Podrobnější poznámky najdete v tématu CObArray::Append.
CTypedPtrArray::Copy
Tato členová funkce volá BASE_CLASS
::Copy.
void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Parametry
BASE_CLASS
Základní třída třídy pole typu ukazatele; musí být maticová třída ( CObArray nebo CPtrArray).
TYP
Typ prvků uložených v poli základní třídy
Src
Zdroj prvků, které se mají zkopírovat do pole.
Poznámky
Podrobnější poznámky najdete v tématu CObArray::Copy.
CTypedPtrArray::ElementAt
Tato vložená funkce volá BASE_CLASS
::ElementAt.
TYPE& ElementAt(INT_PTR nIndex);
Parametry
TYP
Parametr šablony určující typ prvků uložených v tomto poli.
nIndex
Celočíselná hodnota, která je větší nebo rovna 0 a menší nebo rovna hodnotě vrácené : BASE_CLASS
:GetUpperBound.
Návratová hodnota
Dočasný odkaz na prvek v umístění určeném parametrem nIndex. Tento prvek je typu určeného parametrem šablony TYPE.
Poznámky
Podrobnější poznámky naleznete v tématu CObArray::ElementAt.
CTypedPtrArray::GetAt
Tato vložená funkce volá BASE_CLASS
::GetAt.
TYPE GetAt(INT_PTR nIndex) const;
Parametry
TYP
Parametr šablony určující typ prvků uložených v poli
nIndex
Celočíselná hodnota, která je větší nebo rovna 0 a menší nebo rovna hodnotě vrácené : BASE_CLASS
:GetUpperBound.
Návratová hodnota
Kopie elementu v umístění určeném parametrem nIndex. Tento prvek je typu určeného parametrem šablony TYPE.
Poznámky
Podrobnější poznámky najdete v tématu CObArray::GetAt
CTypedPtrArray::InsertAt
Tato členová funkce volá 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
Celočíselné indexy, které mohou být větší než hodnota vrácená CObArray ::GetUpperBound.
TYP
Typ prvků uložených v poli základní třídy
newElement
Ukazatel objektu, který se má umístit do tohoto pole. Je povolen novýElement hodnoty NULL .
nCount
Počet vložení tohoto prvku (výchozí hodnota je 1).
nStartIndex
Celočíselné indexy, které mohou být větší než hodnota vrácená CObArray::GetUpperBound
hodnotou .
BASE_CLASS
Základní třída třídy pole typu ukazatele; musí být maticová třída ( CObArray nebo CPtrArray).
pNewArray
Další pole, které obsahuje prvky, které mají být přidány do tohoto pole.
Poznámky
Podrobnější poznámky naleznete v tématu CObArray::InsertAt.
CTypedPtrArray::operator [ ]
Tyto vložené operátory volají BASE_CLASS
::operator [ ].
TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;
Parametry
TYP
Parametr šablony určující typ prvků uložených v poli
nIndex
Celočíselná hodnota, která je větší nebo rovna 0 a menší nebo rovna hodnotě vrácené : BASE_CLASS
:GetUpperBound.
Poznámky
První operátor, který volá pole, která nejsou const
, lze použít na pravé straně (r-hodnota) nebo vlevo (l-hodnota) příkazu přiřazení. Druhý, vyvolaný pro const
pole, lze použít pouze vpravo.
Ladicí verze knihovny se používá, pokud je dolní index (na levé nebo pravé straně příkazu přiřazení) mimo hranice.
CTypedPtrArray::SetAt
Tato členová funkce volá BASE_CLASS
::SetAt.
void SetAt(
INT_PTR nIndex,
TYPE ptr);
Parametry
nIndex
Celočíselná hodnota, která je větší nebo rovna 0 a menší nebo rovna hodnotě vrácené CObArray::GetUpperBound.
TYP
Typ prvků uložených v poli základní třídy
ptr
Ukazatel na prvek, který má být vložen do pole v nIndex. Je povolená hodnota NULL.
Poznámky
Podrobnější poznámky naleznete v tématu CObArray::SetAt.
CTypedPtrArray::SetAtGrow
Tato členová funkce volá BASE_CLASS
::SetAtGrow.
void SetAtGrow(
INT_PTR nIndex,
TYPE newElement);
Parametry
nIndex
Celočíselná hodnota, která je větší nebo rovna 0.
TYP
Typ prvků uložených v poli základní třídy
newElement
Ukazatel objektu, který se má přidat do tohoto pole. Je povolená hodnota NULL .
Poznámky
Podrobnější poznámky naleznete v tématu CObArray::SetAtGrow.
Viz také
MFC – Ukázka COLLECT
Graf hierarchie
CPtrArray – třída
CObArray – třída