Classe CTypedPtrArray
Fornece um "wrapper" fortemente tipado para objetos da classe CPtrArray
ou CObArray
.
Sintaxe
template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS
Parâmetros
BASE_CLASS
Classe base da classe de matriz de ponteiro tipado, deve ser uma classe de matriz( CObArray
ou CPtrArray
).
TYPE
Tipo dos elementos armazenados na matriz da classe base.
Membros
Métodos públicos
Nome | Descrição |
---|---|
CTypedPtrArray::Add | Adiciona um novo elemento ao final de uma matriz. Aumenta a matriz, se necessário |
CTypedPtrArray::Append | Adiciona o conteúdo de uma matriz ao final de outra. Aumenta a matriz, se necessário |
CTypedPtrArray::Copy | Copia outra matriz à matriz; aumenta a matriz quando necessário. |
CTypedPtrArray::ElementAt | Retorna uma referência temporária ao ponteiro do elemento dentro da matriz. |
CTypedPtrArray::GetAt | Retorna o valor a um determinado índice. |
CTypedPtrArray::InsertAt | Insere um elemento (ou todos os elementos em outra matriz) em um índice especificado. |
CTypedPtrArray::SetAt | Define o valor de um determinado índice; não é permitido à matriz aumentar. |
CTypedPtrArray::SetAtGrow | Define o valor de um determinado índice; aumenta a matriz quando necessário. |
Operadores públicos
Nome | Descrição |
---|---|
CTypedPtrArray::operator [ ] | Define ou obtém o elemento no índice especificado. |
Comentários
Quando você usa CTypedPtrArray
em vez de CPtrArray
ou CObArray
, o recurso de verificação de tipo C++ ajuda a eliminar os erros causados por tipos de ponteiro incompatíveis.
Além disso, o wrapper CTypedPtrArray
executa grande parte da conversão que seria necessária se você usasse CObArray
ou CPtrArray
.
Como todas as funções CTypedPtrArray
estão embutidas, o uso desse modelo não afeta significativamente o tamanho ou a velocidade do código.
Para obter mais informações sobre como usar CTypedPtrArray
, consulte os artigos Coleções e Classes baseadas em modelo.
Hierarquia de herança
BASE_CLASS
CTypedPtrArray
Requisitos
Cabeçalho: afxtempl.h
CTypedPtrArray::Add
Essa função membro chama BASE_CLASS
::Add.
INT_PTR Add(TYPE newElement);
Parâmetros
TYPE
Parâmetro de modelo que especifica o tipo de elemento a ser adicionado à matriz.
newElement
O elemento a ser adicionado a essa matriz.
Valor de retorno
O índice do elemento adicionado.
Comentários
Para comentários mais detalhados, consulte CObArray::Add.
CTypedPtrArray::Append
Esta função membro chama BASE_CLASS
::Append**.
INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Parâmetros
BASE_CLASS
Classe base da classe de matriz de ponteiro tipado, deve ser uma classe de matriz ( CObArray ou CPtrArray).
TYPE
Tipo dos elementos armazenados na matriz da classe base.
src
Origem dos elementos a serem acrescentados a uma matriz.
Valor de retorno
O índice do primeiro elemento acrescentado.
Comentários
Para comentários mais detalhados, consulte CObArray::Append.
CTypedPtrArray::Copy
Esta função membro chama BASE_CLASS
::Copy.
void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Parâmetros
BASE_CLASS
Classe base da classe de matriz de ponteiro tipado, deve ser uma classe de matriz ( CObArray ou CPtrArray).
TYPE
Tipo dos elementos armazenados na matriz da classe base.
src
Origem dos elementos a serem copiados para uma matriz.
Comentários
Para comentários mais detalhados, consulte CObArray::Copy.
CTypedPtrArray::ElementAt
Essa função embutida chama BASE_CLASS
::ElementAt.
TYPE& ElementAt(INT_PTR nIndex);
Parâmetros
TYPE
Parâmetro de modelo que especifica o tipo de elementos armazenados nessa matriz.
nIndex
Um índice inteiro que é maior ou igual a 0 e menor ou igual ao valor retornado por BASE_CLASS
::GetUpperBound.
Valor de retorno
Uma referência temporária ao elemento no local especificado por nIndex. Este elemento é do tipo especificado pelo parâmetro de modelo TYPE.
Comentários
Para comentários mais detalhados, consulte CObArray::ElementAt.
CTypedPtrArray::GetAt
Essa função embutida chama BASE_CLASS
::GetAt.
TYPE GetAt(INT_PTR nIndex) const;
Parâmetros
TYPE
Parâmetro de modelo que especifica o tipo de elementos armazenados na matriz.
nIndex
Um índice inteiro que é maior ou igual a 0 e menor ou igual ao valor retornado por BASE_CLASS
::GetUpperBound.
Valor de retorno
Uma cópia do elemento no local especificado por nIndex. Este elemento é do tipo especificado pelo parâmetro de modelo TYPE.
Comentários
Para comentários mais detalhados, consulte CObArray::GetAt
CTypedPtrArray::InsertAt
Essa função membro chama BASE_CLASS
::InsertAt.
void InsertAt(
INT_PTR nIndex,
TYPE newElement,
INT_PTR nCount = 1);
void InsertAt(
INT_PTR nStartIndex,
CTypedPtrArray<BASE_CLASS, TYPE>* pNewArray);
Parâmetros
nIndex
Um índice inteiro que poderá ser maior que o valor retornado por CObArray::GetUpperBound.
TYPE
Tipo dos elementos armazenados na matriz da classe base.
newElement
O ponteiro de objeto a ser colocado nessa matriz. Um newElement de calor NULL é permitido.
nCount
O número de vezes que esse elemento deverá ser inserido (o padrão é 1).
nStartIndex
Um índice inteiro que poderá ser maior que o valor retornado por CObArray::GetUpperBound
.
BASE_CLASS
Classe base da classe de matriz de ponteiro tipado, deve ser uma classe de matriz ( CObArray ou CPtrArray).
pNewArray
Outra matriz que contém elementos a serem adicionados a essa matriz.
Comentários
Para comentários mais detalhados, consulte CObArray::InsertAt.
CTypedPtrArray::operator [ ]
Esses operadores embutidos chamam BASE_CLASS
::operator [ ].
TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;
Parâmetros
TYPE
Parâmetro de modelo que especifica o tipo de elementos armazenados na matriz.
nIndex
Um índice inteiro que é maior ou igual a 0 e menor ou igual ao valor retornado por BASE_CLASS
::GetUpperBound.
Comentários
O primeiro operador, chamado para matrizes que não são const
, poderá ser usado à direita (valor-r) ou à esquerda (valor-l) de uma instrução de atribuição. O segundo, invocado para matrizes const
, poderá ser usado somente à direita.
A versão de Depuração da biblioteca declarará se o subscrito (no lado esquerdo ou direito de uma instrução de atribuição) estiver fora dos limites.
CTypedPtrArray::SetAt
Essa função membro chama BASE_CLASS
::SetAt.
void SetAt(
INT_PTR nIndex,
TYPE ptr);
Parâmetros
nIndex
Um índice inteiro que é maior ou igual a 0 e menor ou igual ao valor retornado por CObArray::GetUpperBound.
TYPE
Tipo dos elementos armazenados na matriz da classe base.
ptr
Um ponteiro para o elemento a ser inserido na matriz no nIndex. Um valor NULL é permitido.
Comentários
Para comentários mais detalhados, consulte CObArray::SetAt.
CTypedPtrArray::SetAtGrow
Essa função membro chama BASE_CLASS
::SetAtGrow.
void SetAtGrow(
INT_PTR nIndex,
TYPE newElement);
Parâmetros
nIndex
Um índice inteiro que é maior ou igual a 0.
TYPE
Tipo dos elementos armazenados na matriz da classe base.
newElement
O ponteiro do objeto a ser adicionado a essa matriz. Um valor NULL é permitido.
Comentários
Para comentários mais detalhados, consulte CObArray::SetAtGrow.
Confira também
COLLECT de amostra MFC
Gráfico da hierarquia
Classe CPtrArray
Classe CObArray