Partager via


CArray::SetSize

Génère la taille d'un tableau vide ou existante ; alloue de la mémoire si nécessaire.

void SetSize(
   INT_PTR nNewSize,
   INT_PTR nGrowBy = -1 
);

Paramètres

  • nNewSize
    La nouvelle taille du tableau (nombre d'éléments).Doit être supérieure ou égale à 0.

  • nGrowBy
    Le nombre minimal de emplacements d'élément à allouer si une augmentation de la taille est nécessaire.

Notes

Si la nouvelle taille est inférieure à la taille ancienne, le tableau est tronquée et toute la mémoire non utilisée est libérée.

Utilisez cette fonction pour définir la taille de votre tableau avant de commencer à l'aide de le tableau.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.

Le paramètre d' nGrowBy affecte l'allocation de mémoire interne pendant que le tableau augmente.Son utilisation n'affecte jamais la taille du tableau telles qu'enregistrées par GetSize et GetUpperBound.Si la valeur par défaut est utilisée, MFC alloue de la mémoire de façon calculée pour éviter la fragmentation de la mémoire et optimiser l'efficacité de la plupart des cas.

Exemple

Consultez l'exemple pour GetData.

Configuration requise

Header: afxtempl.h

Voir aussi

Référence

Classe de CArray

Graphique de la hiérarchie

CArray::GetUpperBound

CArray::GetSize

CArray::GetCount