Compartilhar via


Coleções

O Microsoft Foundation classe biblioteca fornece coleção classes para gerenciar grupos de objetos.Essas classes são de dois tipos:

  • Classes coleção criadas a partir de modelos C++

  • Classes de coleção não criados a partir de modelos

Dica:

As classes de coleção nontemplate tem sido fornecidas pelo MFC que começa com a versão 1.0 do MFC.Se seu código já usa essas classes, você pode continuar a usá-los.Se você escrever novas classes de coleção de fortemente tipado para seus próprios tipos de dados, considere a possibilidade de usar as classes mais recentes baseados em modelo.

Coleção Shapes

Uma classe de coleção é caracterizada por sua "forma" e os tipos de seus elementos.A forma refere-se à maneira como os objetos são organizados e armazenados pela coleção.MFC oferece três formas da coleção básicas: lista, matrizes e mapeia (também conhecido sistema autônomo dicionários).Você pode escolher a forma da coleção mais adequada ao seu problema específico de programação.

Cada uma das três formas de coleção fornecido é descrita resumidamente abaixo.A tabela coleção forma recursos Recomendações para escolher uma classe de coleção compara os recursos das formas para ajudar você a decidir o que é melhor para seu programa.

  • List

    A classe de lista fornece uma lista ordenada não indexada de elementos, implementado sistema autônomo uma lista duplamente vinculada.Uma lista possui um "head" e "cauda" e adicionar ou remover elementos da cabeça ou Laço, ou inserir ou excluir elementos no meio, é muito rápida.

  • Matriz

    A classe array fornece um conjunto dinamicamente dimensionado, ordenado e indexados inteiro de objetos.

  • MAP (também conhecido sistema autônomo um dicionário)

    Um MAP é uma coleção que associa um objeto-chave um objeto de valor.

As classes de coleção com base em modelo

A maneira mais fácil de implementar uma coleção de fortemente tipado que contém objetos de qualquer tipo é usar uma das classes MFC baseado em modelo.Para obter exemplos dessas classes, consulte o exemplo MFC COLETAR Exemplo: Ilustra as classes de coleção do MFC.

A tabela a seguir lista as classes de coleção baseado em modelo do MFC.

Classes de modelo de coleta

Sumário da coleção

Matrizes

Listas

Mapas

Coleções de objetos de qualquer tipo

CArray

CList

CMap

Conjuntos de ponteiros para objetos de qualquer tipo

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

As classes de coleção não com base em modelos

Se seu aplicativo já usa classes do MFC nontemplate, você pode continuar a usá-las, embora para novas coleções você deve considerar o uso de classes baseadas em modelos.A tabela a seguir lista as classes de coleção do MFC não baseadas em modelos.

Classes de coleção nontemplate

Matrizes

Listas

Mapas

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

A tabela de características de classes de coleção do MFC no artigo Recomendações para escolher uma classe de coleção Descreve as coleções de classes do MFC em termos de suas características (diferente de forma):

  • Se a classe usa modelos C++

  • Se os elementos armazenados na coleção podem ser serializados

  • Se os elementos armazenados na coleção podem ser despejados para diagnóstico

  • Se a coleção é fortemente tipado

O que você deseja fazer?

Tarefas Geral de classe de coleção

Com base no modelo de classe de coleção Tasks

Acessando os membros de uma coleção (com base no modelo ou não)

Consulte também

Conceitos

Tópicos Geral da MFC

Outros recursos

Conceitos do MFC