Share via


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 utiliza 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 dispone de tipos de datos, se recomienda utilizar las nuevas clases plantilla- basadas en.

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 se adapta 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).

  • Lista

    La clase list proporciona una lista ordenada, el de elementos, implementada como una lista doblemente vinculada. Una lista tiene “ejecutar” 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 Plantilla-basadas

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 plantilla- basadas MFC. Para obtener ejemplos de estas clases, vea el ejemplo GETMFC.

La tabla siguiente se enumeran las clases de colección plantilla- basadas 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 plantilla- basadas en. 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 es tipo-segura

¿Qué desea hacer?

Tareas de la clase de colección

Tareas Plantilla- basadas en la clase de colección

Teniendo acceso a los miembros de una colección (Plantilla- basada o No)

Vea también

Conceptos

Temas generales de MFC

Otros recursos

Conceptos de MFC