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.