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 |
---|---|
Konstrukcje pustą tablicę. |
Metody publiczne
Nazwa |
Opis |
---|---|
Dodaje element do końca tablicy; w razie potrzeby zwiększa rozmiar tablicy. |
|
Dołącza innego tablicy tablica; w razie potrzeby, rośnie tablicy |
|
Kopiuje innego tablicy tablica; w razie potrzeby zwiększa rozmiar tablicy. |
|
Zwraca odwołanie tymczasowe wskaźnika elementu w tablicy. |
|
Zwalnia pamięć nieużywane powyżej bieżącej górne. |
|
Zwraca wartość w danym indeksie. |
|
Zwraca liczbę elementów w tej tablicy. |
|
Umożliwia dostęp do elementów w tablicy.Może być NULL. |
|
Zwraca liczbę elementów w tej tablicy. |
|
Zwraca największą nieprawidłowy indeks. |
|
Wstawia element (lub wszystkie elementy tablicy innego) pod określonym indeksem. |
|
Określa, czy tablica jest pusty. |
|
Usuwa wszystkie elementy z tej tablicy. |
|
Usuwa element na określonego indeksu. |
|
Ustawia wartość dla danego indeksu; Tablica nie może wzrosnąć. |
|
Ustawia wartość dla danego indeksu; w razie potrzeby zwiększa rozmiar tablicy. |
|
Ustawia liczbę elementów, które mają być zawarte w tej tablicy. |
Podmioty publiczne
Nazwa |
Opis |
---|---|
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.
Porada |
---|
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
CArray
Wymagania
Header:afxtempl.h