Partilhar via


Coleções

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

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

  • Classes de coleção não criadas com modelos

ObservaçãoObservação

Se seu código já usa classes de coleção nontemplate, você pode continuar a usá-los.Se você gravar novas classes de coleção de tipo seguro para seus próprios tipos de dados, recomendamos que você use as classes com base no modelo mais recentes.

Coleção de formas

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

Cada uma das três formas de coleção fornecida é descrita resumidamente posteriormente neste tópico.Para comparar os recursos de formas para ajudá-lo a decidir qual é melhor para seu programa, consulte Recomendações para escolher uma classe de coleção.

  • List

    A classe de lista fornece uma lista ordenada não indexada de elementos, implementado como uma lista duplamente vinculada.Uma lista tem "head" e "cauda" e adicionando ou removendo elementos da cabeça ou cauda, ou inserindo ou excluindo elementos no meio, é muito rápida.

  • Matriz

    A classe array fornece uma matriz dinamicamente tamanho, ordenada e indexados inteiro de objetos.

  • Mapa (também conhecido como um dicionário)

    Um mapa é uma coleção que associa um objeto de chave com um objeto de valor.

As Classes de coleção com base em modelo

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

A tabela a seguir lista as classes de coleção com base no modelo do MFC.

Coleção Classes de modelo

Conteúdo da coleção

Matrizes

Listas

Mapas

Coleções de objetos de qualquer tipo

CArray

CList

CMap

Coleções de ponteiros para objetos de qualquer tipo

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

As Classes de coleção não baseadas em modelos

Se seu aplicativo já usa classes do MFC nontemplate, você pode continuar a usá-los.No entanto, para novas coleções, recomendamos que você use as classes de modelo.A tabela a seguir lista as classes de coleção do MFC não sã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

As características do MFC coleção Classes de tabela Recomendações para escolher uma classe de coleção descreve as classes de coleção do MFC em termos de características (diferente de forma):

  • Se a classe usa modelos C++

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

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

  • Se a coleção é tipo seguro

942860sh.collapse_all(pt-br,VS.110).gifO que você deseja fazer?

942860sh.collapse_all(pt-br,VS.110).gifTarefas gerais de classe de coleção

942860sh.collapse_all(pt-br,VS.110).gifTarefas com base em modelo de classe de coleção

942860sh.collapse_all(pt-br,VS.110).gifAcessando os membros de uma coleção (com base no modelo ou não)

Consulte também

Conceitos

Tópicos do MFC geral

Outros recursos

Conceitos do MFC