Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 tipada; deve ser uma classe de matriz (CObArray ou CPtrArray).
TIPO
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
TIPO
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).
TIPO
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).
TIPO
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
TIPO
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
TIPO
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.
TIPO
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
TIPO
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.
TIPO
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.
TIPO
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