Share via


CArray Class

Admite matrices que son como las matrices de C, pero puede reducir y crecer dinámicamente según sea necesario.

template < class TYPE, class ARG_TYPE = const TYPE& > 
class CArray : 
   public CObject

Parámetros

  • TYPE
    El parámetro de plantilla que especifica el tipo de objetos almacenados en la matriz. TYPE es un parámetro devuelto por CArray.

  • ARG _ TYPE
    El parámetro de plantilla que especifica el argumento escribe que se utiliza para tener acceso a los objetos almacenados en la matriz. a menudo una referencia a TYPE. ARG_TYPE es un parámetro que se pasa a CArray.

Members

Constructores públicos

Name

Descripción

CArray::CArray

Crea una matriz vacía.

Métodos públicos

Name

Descripción

CArray::Add

Agrega un elemento al final de la matriz; aumenta la matriz en caso necesario.

CArray::Append

Anexa otra matriz a la matriz; aumenta la matriz en caso necesario

CArray::Copy

Copia otra matriz a la matriz; aumenta la matriz en caso necesario.

CArray::ElementAt

Devuelve una referencia temporal a puntero de elemento dentro de la matriz.

CArray::FreeExtra

Libera toda la memoria no utilizada sobre el límite superior actual.

CArray::GetAt

Devuelve el valor en el índice especificado.

CArray::GetCount

Obtiene el número de elementos en esta matriz.

CArray::GetData

Permite el acceso a los elementos de la matriz. puede ser NULL.

CArray::GetSize

Obtiene el número de elementos en esta matriz.

CArray::GetUpperBound

Devuelve el índice válido mayor.

CArray::InsertAt

Inserta un elemento (o todos los elementos en otra matriz) en el índice especificado.

CArray::IsEmpty

Determina si la matriz está vacía.

CArray::RemoveAll

Quita todos los elementos de esta matriz.

CArray::RemoveAt

quita un elemento en un índice específico.

CArray::SetAt

Establece el valor en el índice especificado; matriz no permitido crecer.

CArray::SetAtGrow

Establece el valor en el índice especificado; aumenta la matriz en caso necesario.

CArray::SetSize

Establece el número de elementos que se contendrán en esta matriz.

Operadores públicos

Name

Descripción

CArray::operator []

Establece u obtiene el elemento en el índice especificado.

Comentarios

Los índices de matriz siempre empiezan en la posición 0. Puede decidir si corregir el límite superior o permitir a la matriz para expandir cuando agregue elementos más allá del límite de la actual. La memoria se asigna uno junto al límite superior, aunque algunos elementos es null.

NotaNota

La mayoría de los métodos que cambian el tamaño de un objeto de CArray o agregue elementos al uso memcpy_s a los elementos de movimiento.Esto supone un problema porque memcpy_s no es compatible con ningún objeto que requieren el constructor llamar.Si los elementos de CArray no son compatibles con memcpy_s, debe crear un nuevo CArray de tamaño adecuado.Debe utilizar CArray::Copy y CArray::SetAt para rellenar la nueva matriz porque esos métodos utilizan un operador de asignación en lugar de memcpy_s.

Como con la matriz de C/C++., tiempo de acceso para un elemento indizado CArray es constante y es independiente del tamaño de la matriz.

SugerenciaSugerencia

Antes de utilizar una matriz, utilice SetSize para establecer su tamaño y para asignar memoria para ella.Si no utiliza SetSize, agregar elementos a la matriz hace con frecuencia que se reasignara y copiar.La reasignación frecuente y la copia son ineficaces y pueden fragmentar la memoria.

Si necesita un volcado de elementos individuales en una matriz, debe establecer la profundidad del objeto de CDumpContext a 1 o mayor.

Algunas funciones miembro de las funciones globales de esta de la clase auxiliar de llamada que se deben personalizar para la mayoría de utilizan la clase de CArray . Vea el tema aplicaciones auxiliares de la clase de colección en la sección de macros y Globals MFC.

Derivación de la clase array es como la derivación de lista.

Para obtener más información sobre cómo utilizar CArray, vea el artículo colecciones.

Jerarquía de herencia

CObject

CArray

Requisitos

Header: afxtempl.h

Vea también

Referencia

CObject (Clase)

Gráfico de jerarquías

CObArray (Clase)

Conceptos

El ejemplo de MFC como GET

Otros recursos

Aplicaciones auxiliares de clase de colección