Partager via


CArray, classe

Prend en charge les tableaux qui sont comme les tableaux C, mais peut dynamiquement réduire et développer si nécessaire.

template < class TYPE, class ARG_TYPE = const TYPE& > 
class CArray : 
   public CObject

Paramètres

  • TYPE
    Le paramètre de modèle qui spécifie le type d'objets stocker dans le tableau. TYPE est un paramètre qui est retourné par CArray.

  • ARG _ TYPE
    Le paramètre de modèle qui spécifie le type d'argument utilisé pour accéder à des objets stocker dans le tableau. Souvent une référence à TYPE. ARG_TYPE est un paramètre passé à CArray.

Membres

Constructeurs publics

Nom

Description

CArray::CArray

Construit un tableau vide.

Méthodes publiques

Nom

Description

CArray::Add

Ajoute un élément à la fin du tableau ; élève le tableau si nécessaire.

CArray::Append

Ajoute un autre tableau au tableau ; élève le tableau si nécessaire

CArray::Copy

Copie une autre tableau au tableau ; élève le tableau si nécessaire.

CArray::ElementAt

Retourne une référence temporaire au pointeur d'élément dans le tableau.

CArray::FreeExtra

Libère toute la mémoire non utilisée au-dessus de la limite supérieure actuelle.

CArray::GetAt

Retourne la valeur à un index donné.

CArray::GetCount

Obtient le nombre d'éléments dans ce tableau.

CArray::GetData

Permet l'accès aux éléments du tableau. Peut être NULL.

CArray::GetSize

Obtient le nombre d'éléments dans ce tableau.

CArray::GetUpperBound

Retourne le plus grand index valide.

CArray::InsertAt

Insère un élément (ou les éléments dans un autre tableau) à un index spécifié.

CArray::IsEmpty

Détermine si le tableau est vide.

CArray::RemoveAll

Supprime tous les éléments de ce tableau.

CArray::RemoveAt

Supprime un élément à un index spécifique.

CArray::SetAt

Définit la valeur pour un index donné ; tableau non - autorisée pour développer.

CArray::SetAtGrow

Définit la valeur pour un index donné ; élève le tableau si nécessaire.

CArray::SetSize

Définit le nombre d'éléments à inclure dans ce tableau.

Opérateurs publics

Nom

Description

CArray::operator []

Définit ou obtient l'élément à l'index spécifié.

Notes

Les index de tableau commencent toujours à la position 0. Vous pouvez choisir résoudre la limite supérieure lié ou laissez la matrice de développer lorsque vous ajoutez des éléments au delà de la limite actuelle. La mémoire est allouée contigu à la limite supérieure, même si certains éléments sont null.

Notes

La plupart des méthodes qui se redimensionnent un objet d' CArray ou ajouter des éléments à l'aide memcpy_s aux éléments de déplacement.Il s'agit d'un problème car memcpy_s n'est pas compatible avec un objet qui nécessitent un constructeur d'être appelé.Si les éléments dans CArray ne sont pas compatibles avec memcpy_s, vous devez créer nouvel CArray de la taille appropriée.Vous devez ensuite utiliser CArray::Copy et CArray::SetAt pour remplir un nouveau tableau car ces méthodes utilisent un opérateur d'assignation au lieu d' memcpy_s.

Comme avec la matrice c, le temps d'accès d'un élément indexé par CArray est constante et est indépendant de la taille du tableau.

Conseil

Avant d'utiliser d'un tableau, utilisez SetSize pour générer sa taille et pour allouer de la mémoire pour celui-ci.Si vous n'utilisez pas SetSize, ajouter des éléments à la matrice la cause d'être souvent réaffectée et copiée.La réallocation et la copie fréquentes sont inefficaces et peuvent réduire la mémoire en fragments.

Si vous avez besoin d'un dump des éléments dans un tableau, vous devez définir la profondeur de l'objet de CDumpContext à 1 ou supérieur.

Certaines fonctions membres de cette classe appelle les fonctions d'assistance globales qui doivent être personnalisées pour la plupart des fonctionnalités de la classe d' CArray . Consultez la rubrique programmes d'assistance de classe de collection dans la section de macro MFC et Globals.

La dérivation de classe de tableau est semblable à la dérivation de liste.

Pour plus d'informations sur l'utilisation CArray, consultez l'article collections.

Hiérarchie d'héritage

CObject

CArray

Configuration requise

Header: afxtempl.h

Voir aussi

Référence

CObject, classe

Graphique de la hiérarchie

CObArray, classe

Concepts

L'exemple MFC COLLECTENT

Autres ressources

programmes d'assistance de classe de collection