Partilhar via


Coleções

A biblioteca de classes do Microsoft fornece classes de coleção para o gerenciamento de grupos de objetos. Essas classes são de dois tipos:

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

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

Dica

Se seu código já usa classes de coleção de nontemplate, você poderá continuar a usá-las.Se você grava a nova coleção fortemente tipado para classificar seus próprios tipos de dados, recomendamos que você use as classes de baseadas mais recentes.

Forma da coleção

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 O fornece três formas básicas da coleção: , matrizes e listas, mapas (também conhecidos como dicionários). Você pode escolher a forma da coleção que é mais adequado ao seu problema específico de programação.

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

  • Lista

    A classe da lista fornece uma lista ordenada, não indexada de elementos, implementada como uma lista vinculada double. Uma lista tem um “início” e “uma parte final,” e adicionando ou removendo elementos de início ou da parte final, ou inserindo ou excluindo elementos no meio, é muito rapidamente.

  • Matriz

    A classe da matriz fornece uma matriz feita dimensionar dinamicamente, ordenado, e indexada total de objetos.

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

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

As classes com base na coleção

A maneira mais fácil de implementar uma coleção que contém objetos fortemente tipado de qualquer tipo é usar uma das classes com base em MFC. Para obter exemplos dessas classes, consulte o exemplo COLLECTMFC.

A tabela a seguir lista as classes com base em MFC da coleção.

Classes de modelo de coleção

Conteúdo da coleção

Matrizes

Listas

Mapas

Coleções de objetos de qualquer tipo

CArray

CList

CMap

As coleções de ponteiros para os objetos de qualquer tipo

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

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

Se seu aplicativo já usa classes de nontemplate MFC, você poderá continuar a usá-las. No entanto, para novas coleções, recomendamos que você use as classes com base em log. A tabela a seguir lista as classes de coleção de MFC que não se baseiam em modelos.

Classes de coleção de Nontemplate

Matrizes

Listas

Mapas

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

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

  • Se a classe usa modelos C++

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

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

  • Se a coleção é fortemente tipado

O que você deseja fazer?

Tarefas gerais da classe Coleção-

Tarefas com base em Coleção- classe

Acessando os membros de uma coleção baseada em (ou não)

Consulte também

Conceitos

Tópicos MFC gerais

Outros recursos

Conceitos MFC