Udostępnij za pośrednictwem


Klasa CArray

Obsługuje macierze, które są jak c tablic, ale można dynamicznie zmniejszyć i rośnie w miarę potrzeby.

template < class TYPE, class ARG_TYPE = const TYPE& > 
class CArray : 
   public CObject

Parametry

  • TYPE
    Parametr szablonu, który określa typ obiektów przechowywanych w tablicy.TYPEjest parametr, który jest zwracany przez CArray.

  • ARG _ TYPE
    Parametr szablonu, który określa typ argumentu, który jest używany do dostępu do obiektów przechowywanych w tablicy.Często odniesienie do TYPE.ARG_TYPEPrzekazany parametr CArray.

Członkowie

Publiczne konstruktory

Nazwa

Opis

CArray::CArray

Konstrukcje pustą tablicę.

Metody publiczne

Nazwa

Opis

CArray::Add

Dodaje element do końca tablicy; w razie potrzeby zwiększa rozmiar tablicy.

CArray::Append

Dołącza innego tablicy tablica; w razie potrzeby, rośnie tablicy

CArray::Copy

Kopiuje innego tablicy tablica; w razie potrzeby zwiększa rozmiar tablicy.

CArray::ElementAt

Zwraca odwołanie tymczasowe wskaźnika elementu w tablicy.

CArray::FreeExtra

Zwalnia pamięć nieużywane powyżej bieżącej górne.

CArray::GetAt

Zwraca wartość w danym indeksie.

CArray::GetCount

Zwraca liczbę elementów w tej tablicy.

CArray::GetData

Umożliwia dostęp do elementów w tablicy.Może być NULL.

CArray::GetSize

Zwraca liczbę elementów w tej tablicy.

CArray::GetUpperBound

Zwraca największą nieprawidłowy indeks.

CArray::InsertAt

Wstawia element (lub wszystkie elementy tablicy innego) pod określonym indeksem.

CArray::IsEmpty

Określa, czy tablica jest pusty.

CArray::RemoveAll

Usuwa wszystkie elementy z tej tablicy.

CArray::RemoveAt

Usuwa element na określonego indeksu.

CArray::SetAt

Ustawia wartość dla danego indeksu; Tablica nie może wzrosnąć.

CArray::SetAtGrow

Ustawia wartość dla danego indeksu; w razie potrzeby zwiększa rozmiar tablicy.

CArray::SetSize

Ustawia liczbę elementów, które mają być zawarte w tej tablicy.

Podmioty publiczne

Nazwa

Opis

[CArray::operator]

Ustawia lub pobiera element pod określonym indeksem.

Uwagi

Indeksy tablicy zawsze rozpoczyna się od pozycji 0.Można zdecydować, czy ustalić górną granicę lub włączyć tablicy rozwinąć podczas dodawania elementów w przeszłości bieżące związane.Pamięć jest przydzielone ciągły obszar górne, nawet jeśli niektóre elementy są zerowe.

[!UWAGA]

Większości metod, które zmiany rozmiaru CArray obiektu lub dodać elementy do niej używać memcpy_s , aby przenieść elementy.Jest to problem, ponieważ memcpy_s nie jest zgodny z obiekty, które są wymagane do wywołania konstruktora.Jeśli elementy w CArray nie są zgodne z memcpy_s, należy utworzyć nowy CArray odpowiedni rozmiar.Należy użyć CArray::Copy i CArray::SetAt do wypełniania nowej tablicy, ponieważ te metody, użyj operatora przypisania zamiast memcpy_s.

W przypadku tablicy C, czas dostępu do CArray elementu indeksowanej jest stała i jest niezależny od rozmiaru tablicy.

PoradaPorada

Przed zastosowaniem tablicy, użyj SetSize do ustalenia rozmiaru i przydzielić pamięci dla niego.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.

Musisz zrzutu poszczególnych elementów w tablicy, należy ustawić głębokość CDumpContext obiektu 1 lub większy.

Niektórych funkcji elementów członkowskich tego wywołania klasa helper globalnego funkcji, które muszą być dostosowane dla większości zastosowań CArray klasy.Zobacz temat Pomocnicy klasy kolekcji w sekcji makra MFC i Globals.

Wyprowadzenie klasy Array przypomina wyprowadzenie z listy.

Aby uzyskać więcej informacji na temat używania CArray, zobacz artykuł kolekcji.

Hierarchii dziedziczenia

CObject

CArray

Wymagania

Header:afxtempl.h

Zobacz też

Informacje

Klasa CObject

Diagram hierarchii

Klasa CObArray

Koncepcje

Próbki MFC ZEBRAĆ

Inne zasoby

Pomocnicy klasy kolekcji