CArray::SetSize

Richtet die Größe eines leeren oder vorhandenen Arrays ein; ggf. Speicher belegt.

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

Parameter

  • nNewSize
    Die neue Arraygröße Zahl (- Elemente).Muss mindestens 0 sein.

  • nGrowBy
    Die Mindestanzahl von den Elementslots, zuzuordnen, wenn eine Größenzunahme erforderlich ist.

Hinweise

Wenn die neue Größe kleiner als die alte Größe ist, wird das Array abgeschnitten und aller nicht verwendete Arbeitsspeicher freigegeben wird.

Verwenden Sie diese Funktion, um die Größe des Arrays festzulegen, bevor Sie mithilfe des Arrays starten.Wenn Sie nicht SetSize verwenden, wird das Hinzufügen von Elementen zu dem Array es, mehrfach neu zugeordnet werden und kopiert werden.Allgemeine Neuzuordnung und das Kopieren sind ineffizient und können Arbeitsspeicher fragmentieren.

Der nGrowBy-Parameter beeinflusst Zuordnung des internen Speicher, während das Array zu ist.Die Verwendung beeinflusst nie die Arraygröße, wie durch GetSize und GetUpperBound gemeldet.Wenn der Standardwert verwendet wird, belegt MFC auf eine Weise Speicher abgeleitet wird, um Arbeitsspeicherfragmentierung zu vermeiden und Effizienz für die meisten Fälle zu optimieren.

Beispiel

Im Beispiel für GetData.

Anforderungen

Header: afxtempl.h

Siehe auch

Referenz

CArray-Klasse

Hierarchien-Diagramm

CArray::GetUpperBound

CArray::GetSize

CArray::GetCount