Collections

La bibliothèque MFC fournit des classes de collection pour gérer des groupes d'objets.Ces classes sont de deux types :

  • Classes de collection créées à partir de modèles C++

  • Classes de collection non créées à partir de modèles

[!REMARQUE]

Si votre code utilise déjà des classes de collection non basées sur des modèles, vous pouvez continuer à utiliser.Si vous entrez de nouvelles classes de collection de type sécurisé pour vos propres types de données, nous vous recommandons d'utiliser les classes basées sur des modèles plus récentes.

Formes de collection

Une classe de collection étant caractérisé par sa « forme » et par les types de ses éléments.La forme fait référence à la façon dont les objets sont organisés et enregistrés par la collection.MFC fournit trois formes de base de collection : listes, les tableaux, et tables (également appelés dictionnaires).Vous pouvez choisir la forme de collection qui est plus adaptée à votre problème de programmation particulier.

Les trois formes fournies de collection est brièvement décrite plus loin dans cette rubrique.Pour comparer les fonctionnalités des formes pour vous aider à décider qui est la mieux adaptée à votre programme, consultez Recommendations for Choosing a Collection, classe.

  • Liste

    La classe de liste fournit une liste ordonnée et non indexée d'éléments, implémentée sous forme de liste doublement liée.Une liste contient une « tête » et une « ), » et l'ajout ou la suppression des éléments de le début ou la fin, ou insérer ou supprimer des éléments au milieu, est très rapidement.

  • Tableau

    La classe de tableau fournit un tableau dynamique enregistré, enregistré, et entier-indexé d'objets.

  • Mappage (également appelé un dictionnaire)

    Un mappage est une collection qui associe un objet principal avec un objet valeur.

Les classes de collection basées sur des modèles

La façon la plus simple d'implémenter une collection de type sécurisé qui contient des objets de tout type est d'utiliser l'une des classes basées sur des modèles MFC.Pour obtenir des exemples de ces classes, consultez l'exemple COLLECTMFC.

Le tableau suivant répertorie les classes de collection basées sur des modèles MFC.

Classes de modèle de collection

Contenu de la collection

Tableaux

Listes

Tables

Collections d'objets de tout type

CArray

CList

CMap

Les collections de pointeurs vers des objets de tout type

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

Les classes de collection pas sur des modèles

Si votre application utilise déjà des classes non basées sur des modèles MFC, vous pouvez continuer à utiliser.Toutefois, pour de nouvelles collections, nous vous recommandons d'utiliser les classes basées sur des modèles.Le tableau suivant répertorie les classes de collection MFC qui ne sont pas sur des modèles.

Classes de collection non basées sur des modèles

Tableaux

Listes

Tables

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

Les caractéristiques du tableau de classes de collection MFC dans Recommendations for Choosing a Collection, classe décrit les classes de collection MFC en termes de ces caractéristiques (autre que la forme) :

  • Si la classe utilise des modèles C++

  • Si les éléments contenus dans la collection peuvent être sérialisés

  • Si les éléments contenus dans la collection peuvent être clichés pour le diagnostic

  • Si la collection est de type sécurisé

942860sh.collapse_all(fr-fr,VS.110).gifQue voulez-vous faire ?

942860sh.collapse_all(fr-fr,VS.110).gifTâches générales de classe de collection

942860sh.collapse_all(fr-fr,VS.110).gifTâches basées sur des modèles de classe de collection

942860sh.collapse_all(fr-fr,VS.110).gifAccès aux membres d'une collection basée sur (ou non)

Voir aussi

Concepts

Les rubriques de général MFC

Autres ressources

Concepts de MFC