Matrice, elencare e classi di mapping
Per gestire le aggregazioni di dati, la libreria di classi fornisce a un gruppo di classi di raccolte e matrici, elenchi e mapping — che possono utilizzare diversi oggetto e tipi predefiniti.Le raccolte sono definite in modo dinamico.Queste classi possono essere utilizzate in qualsiasi programma, se scritto per le finestre o meno.Tuttavia, sono più utili per implementare le strutture di dati che definiscono le classi del documento nel framework applicazione.È possibile derivare facilmente le classi di raccolte specializzate da questi alternativa, è possibile crearli si basa sulle classi modello.Per ulteriori informazioni su queste tecniche, vedere l'articolo Raccolte.Per un elenco delle classi collection di modello, vedere l'articolo Classi modello per le matrici, elenchi e i mapping.
Le matrici sono strutture di dati unidimensionali archiviati in modo contiguo nella memoria.Supporta l'accesso casuale molto rapido poiché l'indirizzo di memoria di qualsiasi elemento specificato può essere calcolato moltiplicando l'indice dell'elemento per la dimensione di un elemento e aggiungendo il risultato all'indirizzo di base della matrice.Le matrici sono molto dispendiose se è necessario inserire elementi nella matrice, poiché l'intera matrice dopo l'elemento immesso deve essere spostata a tale spazio per l'elemento sia inserita.Le matrici possono aumentare a seconda delle esigenze e una riduzione.
Gli elenchi sono simili alle matrici ma vengono archiviati molto in modo diverso.Ogni elemento in un elenco include inoltre un puntatore agli elementi precedenti e successivi, rappresenta la classe una lista bidirezionale.È molto veloce di aggiungere o eliminare elementi perché questa operazione include solo modificare i puntatori.Tuttavia, trovare un elenco può essere complessa poiché tutte le ricerche devono iniziare a una della fine dell'elenco.
I mapping a un valore di chiave a un valore di dati.Ad esempio, la chiave di un mapping di una stringa e i dati un puntatore in un elenco.Chiedereste al mapping per poter il puntatore associato a una determinata stringa.Le ricerche di mapping sono veloce perché hash di utilizzo dei mapping - tabelle per ricerche principali.L'aggiunta e l'eliminazione di elementi sono anche veloci.I mapping vengono spesso utilizzati con altre strutture di dati quali indici e.MFC utilizza un tipo speciale di mapping chiamato mappa messaggi per eseguire il mapping dei messaggi di windows a un puntatore a funzione di gestione per il messaggio.