MAP de classes, lista e array
Para manipular agregações de dados, a biblioteca de classes fornece um agrupar de classes de coleção – matrizes, listas e mapeia — que pode armazenar uma variedade de objeto e tipos predefinidos.As coleções são dimensionadas dinamicamente.Essas classes podem ser usadas em qualquer programa, se escritos para o Windows ou não.No entanto, eles são mais úteis para implementar as estruturas de dados que definem as classes de documento na estrutura do aplicativo.Prontamente você pode derivar classes de coleção especializados dos seguintes, ou pode criá-las com base nas classes de modelo.Para obter mais informações sobre esses métodos, consulte o artigo Coleções.Para obter uma lista das classes de coleção de modelo, consulte o artigo Classes de modelo para matrizes, listas e mapas.
Os arrays são estruturas de dados unidimensional que são armazenadas contiguamente na memória.Eles oferecem suporte a acesso aleatório muito rápido, pois o endereço de memória de qualquer elemento determinado pode ser calculado multiplicando o índice do elemento por dimensionar de um elemento e adicionando o resultado para o endereço básico da matriz.Mas matrizes são muito caras, se você tiver que inserir elementos na matriz, desde que toda a matriz passada o elemento inserido tem a ser movida para liberar espaço para o elemento a ser inserido.Arrays podem crescer e reduza conforme necessário.
Listas são semelhantes aos arrays mas são armazenadas de maneira muito diferente.Cada elemento em uma lista também inclui um ponteiro para os elementos anteriores e posteriores, tornando-se uma lista duplamente vinculada.É muito rápida para adicionar ou excluir itens porque isso envolve apenas alterando alguns ponteiros.No entanto, uma lista de pesquisa pode ser caro como todas as pesquisas precisa começar em uma das extremidades da lista.
Mapas de relacionar um valor de chave a um valor de dados.Por exemplo, a chave de um MAP poderia ser uma seqüência de caracteres e os dados de um ponteiro para uma lista.Você poderia perguntar MAP para lhe fornecer o ponteiro associado com uma determinada cadeia de caracteres.Pesquisas de MAP são rápidas, como mapas usam tabelas de hash para pesquisas de chave.Adicionar e excluir itens também são rápida.Mapas são usados freqüentemente com Outros estruturas de dados sistema autônomo índices auxiliares.MFC usa um tipo especial de MAP chamado um MAP da mensagem para mapear mensagens do Windows para um ponteiro para a função de manipulador para a mensagem.