Sdílet prostřednictvím


CArray::SetSize

Zjistí velikost existující nebo prázdné pole; v případě potřeby přidělí paměť.

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

Parametry

  • nNewSize
    Nové pole velikost (počet prvků).Musí být větší nebo rovna 0.

  • nGrowBy
    Minimální počet slotů prvek přidělení, pokud je nezbytné zvýšení velikosti.

Poznámky

Pokud je nová velikost menší než původní velikost, pole je oříznuto a všechny nevyužité paměti je uvolněna.

Funkce nastavení velikosti své pole před použitím matice.Pokud nepoužíváte SetSize , přidávání prvků pole způsobí často přerozděleny a zkopírován.Přerozdělení časté kopírování jsou neefektivní a paměti lze rozdělit.

nGrowBy Parametr ovlivňuje přidělení vnitřní paměti, zatímco pole roste.Jeho použití nikdy ovlivňuje velikost pole v GetSize a GetUpperBound.Pokud je použita výchozí hodnota, MFC přidělí paměť způsobem vypočítá vyhnout fragmentace paměti a optimalizovat účinnost pro většinu případů.

Příklad

Příklad pro GetData.

Požadavky

Záhlaví: afxtempl.h

Viz také

Referenční dokumentace

Třída CArray

Diagram hierarchie

CArray::GetUpperBound

CArray::GetSize

CArray::GetCount