Partilhar via


Classe CSimpleArray

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe fornece métodos para gerir um array simples.

Sintaxe

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

Parâmetros

T
O tipo de dados a armazenar no array.

TEqual
Um objeto de traço, definindo o teste de igualdade para elementos do tipo T.

Membros

Construtores Públicos

Nome Description
CSimpleArray::CSimpleArray O construtor para o array simples.
CSimpleArray::~CSimpleArray O destruidor para a matriz simples.

Métodos Públicos

Nome Description
CSimpleArray::Add Adiciona um novo elemento ao array.
CSimpleArray::Find Encontra um elemento no array.
CSimpleArray::GetData Devolve um ponteiro para os dados armazenados no array.
CSimpleArray::GetSize Devolve o número de elementos armazenados no array.
CSimpleArray::Remover Remove um dado elemento do array.
CSimpleArray::RemoveAll Remove todos os elementos do array.
CSimpleArray::RemoveAt Remove o elemento especificado do array.
CSimpleArray::SetAtIndex Define o elemento especificado no array.

Operadores Públicos

Nome Description
CSimpleArray::operator[] Recupera um elemento do array.
CSimpleArray::operator = Operador de atribuição.

Observações

CSimpleArray fornece métodos para criar e gerir um array simples, de qualquer tipo Tdado .

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 ao CSimpleArrayEqualHelper, é possível alterar o comportamento do teste de igualdade para qualquer array dado. Por exemplo, ao lidar com um array de ponteiros, pode ser útil definir a igualdade como dependendo dos valores referenciados pelos ponteiros. A implementação padrão utiliza operador=().

Tanto CSimpleArray o CSimpleMap são concebidos para um pequeno número de elementos. Devem ser usados CAtlArray e CAtlMap quando o array contém um grande número de elementos.

Requerimentos

Cabeçalho: atlsimpcoll.h

Example

// 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 ao array.

BOOL Add(const T& t);

Parâmetros

t
O elemento a adicionar ao array.

Valor de retorno

Retorna TRUE se o elemento for adicionado com sucesso ao array, FALSE caso contrário.

Example

// 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 para o objeto do array.

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

Parâmetros

src
Um objeto existente CSimpleArray .

Observações

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

CSimpleArray::~CSimpleArray

O destruidor.

~CSimpleArray();

Observações

Liberta todos os recursos alocados.

CSimpleArray::Find

Encontra um elemento no array.

int Find(const T& t) const;

Parâmetros

t
O elemento a procurar.

Valor de retorno

Devolve o índice do elemento encontrado, ou -1 se o elemento não for encontrado.

Example

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

Devolve um ponteiro para os dados armazenados no array.

T* GetData() const;

Valor de retorno

Devolve um ponteiro para os dados no array.

CSimpleArray::GetSize

Devolve o número de elementos armazenados no array.

int GetSize() const;

Valor de retorno

Devolve o número de elementos armazenados no array.

CSimpleArray::operator []

Recupera um elemento do array.

T& operator[](int nindex);

Parâmetros

nIndex
O índice elemental.

Valor de retorno

Devolve o elemento do array referenciado por nIndex.

Example

// 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
O array para copiar.

Valor de retorno

Devolve um ponteiro para o objeto atualizado CSimpleArray .

Observações

Copia todos os elementos do CSimpleArray objeto referenciado pelo src para o objeto array atual, substituindo todos os dados existentes.

Example

// 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::Remover

Remove um dado elemento do array.

BOOL Remove(const T& t);

Parâmetros

t
O elemento a remover do array.

Valor de retorno

Retorna TRUE se o elemento for encontrado e removido, FALSE caso contrário.

Observações

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

CSimpleArray::RemoveAll

Remove todos os elementos do array.

void RemoveAll();

Observações

Remove todos os elementos atualmente armazenados no array.

CSimpleArray::RemoveAt

Remove o elemento especificado do array.

BOOL RemoveAt(int nIndex);

Parâmetros

nIndex
O índice aponta para o elemento a remover.

Valor de retorno

Retorna TRUE se o elemento foi removido, FALSE se o índice for inválido.

Observações

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

CSimpleArray::SetAtIndex

Defina o elemento especificado no array.

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

Parâmetros

nIndex
O índice do elemento a mudar.

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

Valor de retorno

Retorna TRUE se for bem-sucedido, FALSE se o índice não for válido.

Consulte também

Visão geral da classe