CArray::SetSize

nieważne SetSize ( int nNewSize, int nGrowBy = -1 );
rzut ( CMemoryException );

Parametry

nNewSize

Nowy rozmiar tablicy (liczba elementów). Musi być większa niż lub równa 0.

nGrowBy

Minimalna liczba gniazd elementu przydzielić jeśli konieczne jest zwiększenie rozmiaru.

Uwagi

Określa rozmiar tablicy puste lub istniejących; przydzielanie pamięci, w razie potrzeby.

Jeśli nowy rozmiar jest mniejszy niż rozmiar starych, następnie tablicy jest obcinany i wszystkie nieużywane pamięci jest zwalniany.

Funkcję tę można stosować, aby ustawić rozmiar macierzy, przed rozpoczęciem korzystania z tablicy. Jeśli nie używasz SetSize, dodawanie elementów do macierzy powoduje jego często ponownie rozdzielone i kopiowane. Częste zmiany alokacji i kopiowanie są nieefektywne i można fragmentuj pamięci.

Parametr nGrowBy wpływa na alokacji pamięci wewnętrznej, podczas gdy rośnie tablicy. Jego użycia nigdy nie wpływa na rozmiar tablicy zgłoszonych przez GetSize i GetUpperBound. Jeśli używana jest wartość domyślna, MFC przydziela pamięć w sposób obliczone do uniknięcia fragmentacji pamięci i zoptymalizować efektywność w większości przypadków.

Omówie&nie CArray |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CArray::GetUpperBound, CArray::GetSize

Index