Partilhar via


Classe CSimpleArray

Essa classe fornece métodos para gerenciar uma matriz simples.

Sintaxe

template <class T, class TEqual = CSimpleArrayEqualHelper<T>>
class CSimpleArray

Parâmetros

T
O tipo de dados a serem armazenados na matriz.

TEqual
Um objeto de característica, definindo o teste de igualdade para elementos do tipo T.

Membros

Construtores públicos

Nome Descrição
CSimpleArray::CSimpleArray O construtor da matriz simples.
CSimpleArray::~CSimpleArray O destruidor da matriz simples.

Métodos públicos

Nome Descrição
CSimpleArray::Add Adiciona um novo elemento à matriz.
CSimpleArray::Find Encontra um elemento na matriz.
CSimpleArray::GetData Retorna um ponteiro para os dados armazenados em uma matriz.
CSimpleArray::GetSize Retorna o número de elementos armazenados na matriz.
CSimpleArray::Remove Remove um determinado elemento da matriz.
CSimpleArray::RemoveAll Remove todos os elementos da matriz.
CSimpleArray::RemoveAt Remove o elemento especificado da matriz.
CSimpleArray::SetAtIndex Define o elemento especificado na matriz.

Operadores públicos

Nome Descrição
CSimpleArray::operator[] Recupera um elemento da matriz.
CSimpleArray::operator = Operador de atribuição.

Comentários

CSimpleArray fornece métodos para criar e gerenciar uma matriz simples, de qualquer tipo T determinado.

O parâmetro TEqual fornece um meio de definir uma função de igualdade para dois elementos do tipo T. Ao criar uma classe semelhante a CSimpleArrayEqualHelper, é possível alterar o comportamento do teste de igualdade para qualquer determinada matriz. Por exemplo, ao lidar com uma matriz de ponteiros, pode ser útil definir a igualdade como dependendo dos valores que os ponteiros referenciam. A implementação padrão utiliza operator=().

O CSimpleArray e o CSimpleMap foram projetados para um pequeno número de elementos. CAtlArray e CAtlMap devem ser usados quando a matriz contém um grande número de elementos.

Requisitos

Cabeçalho: atlsimpcoll.h

Exemplo

// Create an array of integers
CSimpleArray<int> iArray;

// Create an array of char pointers
// and use a new equality function
CSimpleArray<char *, MyEqualityEqualHelper<char *> > cMyArray;   

CSimpleArray::Add

Adiciona um novo elemento à matriz.

BOOL Add(const T& t);

Parâmetros

t
O elemento a ser adicionado à matriz.

Valor de retorno

Retornará TRUE se o elemento for adicionado com êxito à matriz. Caso contrário, FALSE.

Exemplo

// Create an array of integers and add some elements
CSimpleArray<int> iMyArray;
for (int i = 0; i < 10; i++)
   iMyArray.Add(i);  

CSimpleArray::CSimpleArray

O construtor do objeto da matriz.

CSimpleArray(const CSimpleArray<T, TEqual>& src);
CSimpleArray();

Parâmetros

src
Um objeto CSimpleArray existente.

Comentários

Inicializa os membros de dados, criando um objeto vazio CSimpleArray ou uma cópia de um objeto CSimpleArray existente.

CSimpleArray::~CSimpleArray

O destruidor.

~CSimpleArray();

Comentários

Libera todos os recursos alocados.

CSimpleArray::Find

Encontra um elemento na matriz.

int Find(const T& t) const;

Parâmetros

t
O elemento pelo qual pesquisar.

Valor de retorno

Retornará o índice do elemento encontrado ou -1 se o elemento não for encontrado.

Exemplo

// Create an array of floats and search for a particular element

CSimpleArray<float> fMyArray;

for (int i = 0; i < 10; i++)
   fMyArray.Add((float)i * 100);

int e = fMyArray.Find(200);
if (e == -1)
   _tprintf_s(_T("Could not find element\n"));
else
   _tprintf_s(_T("Found the element at location %d\n"), e);   

CSimpleArray::GetData

Retorna um ponteiro para os dados armazenados em uma matriz.

T* GetData() const;

Valor de retorno

Retorna um ponteiro para os dados na matriz.

CSimpleArray::GetSize

Retorna o número de elementos armazenados na matriz.

int GetSize() const;

Valor de retorno

Retorna o número de elementos armazenados na matriz.

CSimpleArray::operator []

Recupera um elemento da matriz.

T& operator[](int nindex);

Parâmetros

nIndex
O índice do elemento.

Valor de retorno

Retorna o elemento da matriz referenciada por nIndex.

Exemplo

// Create an array and display its contents
 CSimpleArray<int> iMySampleArray;

 for (int i = 0; i < 10; i++)
    iMySampleArray.Add(i);

 for (int i = 0; i < iMySampleArray.GetSize(); i++)
    _tprintf_s(_T("Array index %d contains %d\n"), i, iMySampleArray[i]);

CSimpleArray::operator =

Operador de atribuição.

CSimpleArray<T, TEqual>
& operator=(
    const CSimpleArray<T, TEqual>& src);

Parâmetros

src
A matriz a ser copiada.

Valor de retorno

Retorna um ponteiro para o objeto CSimpleArray atualizado.

Comentários

Copia todos os elementos do objeto CSimpleArray referenciado pelo src no objeto de matriz atual, substituindo todos os dados existentes.

Exemplo

// Create an array of chars and copy it to a second array
CSimpleArray<char> cMyArray1;
cMyArray1.Add('a');
CSimpleArray<char> cMyArray2;
cMyArray2 = cMyArray1;
ATLASSERT(cMyArray2[0] == 'a');   

CSimpleArray::Remove

Remove um determinado elemento da matriz.

BOOL Remove(const T& t);

Parâmetros

t
O elemento a ser removido da matriz.

Valor de retorno

Retorna TRUE se o elemento é encontrado e removido. Caso contrário, FALSE.

Comentários

Quando um elemento é removido, os elementos restantes na matriz são renumerados para preencher o espaço vazio.

CSimpleArray::RemoveAll

Remove todos os elementos da matriz.

void RemoveAll();

Comentários

Remove todos os elementos armazenados atualmente na matriz.

CSimpleArray::RemoveAt

Remove o elemento especificado da matriz.

BOOL RemoveAt(int nIndex);

Parâmetros

nIndex
Índice apontando para o elemento a ser removido.

Valor de retorno

Retornará TRUE se o elemento tiver sido removido, FALSE se o índice for inválido.

Comentários

Quando um elemento é removido, os elementos restantes na matriz são renumerados para preencher o espaço vazio.

CSimpleArray::SetAtIndex

Define o elemento especificado na matriz.

BOOL SetAtIndex(
    int nIndex,
    const T& t);

Parâmetros

nIndex
O índice do elemento a ser alterado.

t
O valor a ser atribuído ao elemento especificado.

Valor de retorno

Retornará TRUE se tiver êxito, FALSE se o índice não for válido.

Confira também

Visão geral da aula