Compartir a través de


Clase CSimpleArray

Esta clase proporciona métodos para administrar una matriz sencilla.

Sintaxis

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

Parámetros

T
El tipo de datos que se almacena en la matriz.

TEqual
Un objeto de rasgos, que define la prueba de igualdad para los elementos de tipo T.

Miembros

Constructores públicos

Nombre Descripción
CSimpleArray::CSimpleArray El constructor de la matriz simple.
CSimpleArray::~CSimpleArray El destructor de la matriz simple.

Métodos públicos

Nombre Descripción
CSimpleArray::Add Agrega un nuevo elemento a la matriz.
CSimpleArray::Find Busca un elemento en la matriz.
CSimpleArray::GetData Devuelve un puntero a los datos almacenados en la matriz.
CSimpleArray::GetSize Devuelve el número de elementos almacenados en la matriz.
CSimpleArray::Remove Quita un elemento determinado de la matriz.
CSimpleArray::RemoveAll Quita todos los elementos de la lista.
CSimpleArray::RemoveAt Quita el elemento especificado de la lista.
CSimpleArray::SetAtIndex Quita el elemento especificado de la lista.

Operadores públicos

Nombre Descripción
CSimpleArray::operator[] Recupera un elemento de la matriz.
CSimpleArray::operator = Operador de asignación.

Comentarios

CSimpleArray proporciona varios métodos para crear y administrar una matriz simple, de cualquier tipo T determinado.

El parámetro TEqual proporciona un medio para definir una función de igualdad para dos elementos de tipo T. Al crear una clase similar a CSimpleArrayEqualHelper, es posible modificar el comportamiento de la prueba de igualdad para cualquier matriz determinada. Por ejemplo, al tratar con una matriz de punteros, puede ser útil definir la igualdad según los valores a los que hacen referencia los punteros. La implementación predeterminada usa operator=().

Tanto CSimpleArraycomo CSimpleMap están diseñados para un pequeño número de elementos. CAtlArray and CAtlMap se deben usar cuando la matriz contiene un gran número de elementos.

Requisitos

Encabezado: atlsimpcoll.h

Ejemplo

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

Agrega un nuevo elemento a la matriz.

BOOL Add(const T& t);

Parámetros

t
Elementos que se agregan a la matriz.

Valor devuelto

Devuelve TRUE si el elemento se agrega correctamente a la matriz; de lo contrario, devuelve FALSE.

Ejemplo

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

CSimpleArray::CSimpleArray

El constructor del objeto matriz.

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

Parámetros

src
Objeto CSimpleArray existente.

Comentarios

Inicializa los miembros de datos, para lo que crea un objeto CSimpleArray vacío, o una copia de un objeto CSimpleArray existente.

CSimpleArray::~CSimpleArray

El destructor .

~CSimpleArray();

Comentarios

Libera todos los recursos asignados.

CSimpleArray::Find

Busca un elemento en la matriz.

int Find(const T& t) const;

Parámetros

t
El elemento que se busca.

Valor devuelto

Devuelve el índice del elemento encontrado, o -1 si no se encuentra el elemento.

Ejemplo

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

Devuelve un puntero a los datos almacenados en la matriz.

T* GetData() const;

Valor devuelto

Devuelve un puntero a los datos de la matriz.

CSimpleArray::GetSize

Devuelve el número de elementos almacenados en la matriz.

int GetSize() const;

Valor devuelto

Devuelve el número de elementos almacenados en la matriz.

CSimpleArray::operator []

Recupera un elemento de la matriz.

T& operator[](int nindex);

Parámetros

nIndex
Índice de elementos.

Valor devuelto

Devuelve el elemento de la matriz a la que hace referencia nIndex.

Ejemplo

// 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 asignación.

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

Parámetros

src
Matriz que se va a copiar.

Valor devuelto

Devuelve un puntero al objeto actualizado CSimpleArray.

Comentarios

Copia todos los elementos del objeto CSimpleArray al que hace referencia src en el objeto matriz actual, reemplazando todos los datos existentes.

Ejemplo

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

Quita un elemento determinado de la matriz.

BOOL Remove(const T& t);

Parámetros

t
Elemento que se quita de la matriz.

Valor devuelto

Devuelve TRUE si se encuentra y quita el elemento; de lo contrario, FALSE.

Comentarios

Cuando se quita un elemento, se renumeran los elementos restantes de la matriz para rellenar el espacio vacío.

CSimpleArray::RemoveAll

Quita todos los elementos de la lista.

void RemoveAll();

Comentarios

Quita todos los elementos almacenados actualmente en la matriz.

CSimpleArray::RemoveAt

Quita el elemento especificado de la lista.

BOOL RemoveAtint nIndex);

Parámetros

nIndex
Índice que apunta al elemento que se va a quitar.

Valor devuelto

Devuelve TRUE si se quitó el elemento, FALSE si el índice no era válido.

Comentarios

Cuando se quita un elemento, se renumeran los elementos restantes de la matriz para rellenar el espacio vacío.

CSimpleArray::SetAtIndex

Establezca el elemento especificado de la matriz.

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

Parámetros

nIndex
Índice del elemento que se va a cambiar.

t
El valor que se va a asignar al elemento especificado.

Valor devuelto

Devuelve TRUE si la operación se realiza correctamente y FALSE si el índice no era válido.

Consulte también

Información general sobre la clase