Condividi tramite


CArray::SetSize

Imposta la dimensione di una matrice vuota o esistente, alloca memoria se necessario.

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

Parametri

  • nNewSize
    La nuova dimensione della matrice (numero di elementi).Versione 0 o successive.

  • nGrowBy
    Il numero minimo di slot dell'elemento da allocare se un aumento delle dimensioni è necessario.

Note

Se la nuova dimensione è minore della dimensione precedente, la matrice sarà troncata e tutta la memoria inutilizzata viene rilasciata.

Utilizzare questa funzione per impostare la dimensione della matrice prima di iniziare utilizzando la matrice.Se non si utilizza SetSize, aggiungere elementi alla matrice in modo che venga ridistribuito e alla copia di frequente.Il frequente riallocazione e copiare sono inefficaci e possono frammentare la memoria.

Il parametro nGrowBy influisce sull'allocazione di memoria interna durante la matrice sta crescendo.Il relativo utilizzo non influisce su mai la dimensione della matrice come indicato da GetSize e da GetUpperBound.Se il valore predefinito viene utilizzato, MFC alloca memoria in modo calcolata per evitare la frammentazione della memoria e per migliorare l'efficienza per la maggior parte dei casi.

Esempio

Vedere l'esempio relativo GetData.

Requisiti

Header: afxtempl.h

Vedere anche

Riferimenti

Classe di CArray

Grafico della gerarchia

CArray::GetUpperBound

CArray::GetSize

CArray::GetCount