Udostępnij za pośrednictwem


CArray::SetSize

Określa rozmiar tablicy pusty lub istniejące; Jeśli to konieczne, przydziela pamięć.

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

Parametry

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

  • nGrowBy
    Minimalna liczba gniazd element przydzielić, jeśli konieczne jest zwiększenie rozmiaru.

Uwagi

Jeśli nowy rozmiar jest mniejszy niż rozmiar stare, tablica zostanie obcięta i wszystkie nieużywane pamięci jest zwolnione.

Funkcja ta służy do ustawiania rozmiaru tablicy przed rozpoczęciem korzystania z tablicy.Jeśli nie używasz SetSize, dodawanie elementów do tablicy powoduje często ponownie przydzielona i kopiowane.Częste zmiany alokacji i kopiowanie są nieskuteczne i można fragment pamięci.

nGrowBy Parametr ma wpływ alokacji pamięci wewnętrznej podczas rośnie tablicy.Jej użycia nigdy nie dotyczy rozmiaru tablicy zgłoszone przez GetSize i GetUpperBound.Jeśli używana jest wartość domyślna, MFC przydziela pamięć w sposób obliczona w celu uniknięcia fragmentacji pamięci i zoptymalizować wydajność dla większości przypadków.

Przykład

Zobacz przykład dla GetData.

Wymagania

Nagłówek: afxtempl.h

Zobacz też

Informacje

Klasa CArray

Diagram hierarchii

CArray::GetUpperBound

CArray::GetSize

CArray::GetCount