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 CSimpleArray
como 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 RemoveAt(int 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.