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