Compartilhar via


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 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