Condividi tramite


Raccolte

La libreria MFC fornisce classi di raccolte per gestire i gruppi di oggetti.Queste classi sono di due tipi:

  • Classi di raccolte create dai modelli C++

  • Classi di raccolte non create dai modelli

[!NOTA]

Se il codice utilizza già le classi di raccolte non template, è possibile continuare a utilizzare.Se si scrivono nuove classi di raccolte indipendenti dai tipi per i tipi di dati personalizzati, è consigliabile utilizzare le più recenti alle classi basate su modelli.

Forme della raccolta

Una classe di raccolte è caratterizzato da l “forma„ e dai tipi dei relativi elementi.La forma fa riferimento al modo in cui gli oggetti sono organizzati e archiviati dalla raccolta.MFC fornisce tre base forme di raccolta: elenchi, matrici e mapping (anche noto come i dizionari).È possibile selezionare la forma di raccolta che più appropriata al problema specifico di programmazione.

Ciascuna delle forme di libreria fornite viene descritta più avanti brevemente in questo argomento.Per confrontare le funzionalità delle forme utili per decidere quale è il ottimale per il programma, vedere Classe Recommendations for Choosing a Collection.

  • Elenco

    La classe dell'elenco viene fornito un elenco ordinato e non sono indicizzate degli elementi, implementato doppio come elenco collegato.Un elenco include “intestazione„ e “un elemento tail,„ e aggiungere o rimuovere gli elementi intestazione o dalla, o inserire o eliminare elementi al centro, è molto velocemente.

  • Matrice

    La classe di matrice fornisce una matrice dinamica ridimensionata, ordinata e Integer-indicizzata di oggetti.

  • Mapping (anche noto come un dizionario)

    Una mappa è una raccolta che associa un oggetto principal a un oggetto di valore.

Le classi di raccolte Basate su modelli

Il modo più semplice per implementare una raccolta indipendente dai tipi che contiene gli oggetti di qualsiasi tipo è utilizzare una delle classi basate su template MFC.Per esempi di queste classi, vedere l'esempio In COLLECTMFC.

Nella tabella seguente sono elencate le classi di raccolte basate su template MFC.

Classi modello di raccolta

Contenuto di raccolta

Matrici

Elenchi

Mappe

Raccolte di oggetti di qualsiasi tipo

CArray

CList

CMap

Le raccolte di puntatori agli oggetti di qualsiasi tipo

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

Le classi di raccolte non basate su modelli

Se l'applicazione utilizza già le classi non template MFC, è possibile continuare a utilizzare.Tuttavia, per le nuove raccolte, è consigliabile utilizzare le classi basate su modelli.Nella tabella seguente sono elencate le classi collection MFC che non sono basate su modelli.

Classi di raccolte di non modello

Matrici

Elenchi

Mappe

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

Le caratteristiche della tabella delle classi collection MFC in Classe Recommendations for Choosing a Collection descritte le classi collection MFC in termini di queste caratteristiche (diverso da forma:

  • Se la classe utilizza i modelli C++

  • Se gli elementi archiviati nella libreria possono essere serializzati

  • Se gli elementi archiviati nella libreria è possibile eseguire il dump per la diagnostica

  • Se la raccolta è indipendente dai tipi

942860sh.collapse_all(it-it,VS.110).gifScegliere l'argomento con cui si desidera procedere

942860sh.collapse_all(it-it,VS.110).gifAttività generali della classe di raccolte

942860sh.collapse_all(it-it,VS.110).gifAttività relative A modello di classe di raccolte

942860sh.collapse_all(it-it,VS.110).gifAccesso ai membri di una raccolta (Basato su modelli o meno)

Vedere anche

Concetti

Argomenti generali MFC

Altre risorse

Concetti di MFC