Compartir a través de


Colecciones

La biblioteca Microsoft Foundation Class proporciona clases de colección para administrar los grupos de objetos.Estas clases son de dos tipos:

  • Clases de colección creadas a partir de las plantillas de C++

  • Clases de colección no creadas a partir de plantillas

[!NOTA]

Si el código usa ya clases de colección que no es de plantilla, puede continuar utilizandolas.Si escribe las nuevas clases de colección con seguridad de tipos para sus propios tipos de datos, se recomienda utilizar las nuevas clases basadas en plantillas.

Formas de colección

Una clase de colección se caracteriza por su “forma” y los tipos de sus elementos.La forma hace referencia a la manera en que los objetos se organizan y que almacenados por la colección.MFC proporciona tres formas básicas de la colección: listas, matrices, y mapas (también conocidos como diccionarios).Puede elegir la colección que adapta más al problema concreto de la programación.

Cada una de las tres formas proporcionadas de colección se describe brevemente más adelante en este tema.Para comparar las características de formas para ayudarle a decidir cuál es el mejor para el programa, vea Recommendations for Choosing a Collection (Clase).

  • List

    La clase list proporciona una lista ordenada, el de elementos, implementada como una lista doblemente vinculada.Una lista tiene un “encabezado” y una cola “,” y la agregar o quitar elementos de encabezado o de la cola, o insertar o eliminar elementos en el centro, es muy rápidamente.

  • Matriz

    La clase array proporciona una matriz dinámicamente ordenados, petición, y entero-indizado de objetos.

  • Mapa (también conocido como diccionario)

    Un mapa es una colección que asocie un objeto clave a un objeto de valor.

Las clases de colección basadas en plantillas

La manera más fácil de implementar una colección de tipos que contiene objetos de cualquier tipo es utilizar una de las clases basadas en plantillas MFC.Para obtener ejemplos de estas clases, vea el ejemplo GETMFC.

La tabla siguiente se enumeran las clases de colección basadas en plantillas MFC.

Clases de plantilla de la colección

Contenido de la colección

Matrices

Listas

Mapas

Colecciones de objetos de cualquier tipo

CArray

CList

CMap

Colecciones de punteros a objetos de cualquier tipo

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

Las clases de colección No basado en las plantillas

Si la aplicación utiliza ya clases de segunda de MFC, puede continuar utilizandolas.Sin embargo, para las nuevas colecciones, recomendamos utilizar las clases basadas en plantillas.La tabla siguiente se enumeran las clases de colección de MFC que no se basan en las plantillas.

Clases de colección de Segunda

Matrices

Listas

Mapas

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

Las características de tabla de las clases de colección de MFC en Recommendations for Choosing a Collection (Clase) describen las clases de colección de MFC en términos de estas características (distinto de la forma):

  • Si la clase utiliza plantillas de C++

  • Si los elementos almacenados en la colección pueden ser serializados

  • Si los elementos almacenados en la colección se puede volcar para diagnósticos

  • Si la colección tiene seguridad de tipos

942860sh.collapse_all(es-es,VS.110).gif¿Qué desea hacer?

942860sh.collapse_all(es-es,VS.110).gifTareas de la clase de colección

942860sh.collapse_all(es-es,VS.110).gifTareas basadas en plantillas de la clase de colección

942860sh.collapse_all(es-es,VS.110).gifTeniendo acceso a los miembros de una colección (con o No)

Vea también

Conceptos

Temas generales de MFC

Otros recursos

Conceptos de MFC