img/mfc2.jpg Opis dotyczy następujących klas:

CList, CObList, CPtrList, CStringList


Opis

Klasy te są zaimplementowane jako część obszernego tematu jakim są dynamiczne struktury danych. Wymienione w nagłówku klasy mają wspólne funkcje obsługi. Rożnią się one praktycznie tylko typem przetrzymywanych danych. I tak:

Wstawianie elementu na początek listy jak i na koniec listy jest bardzo szybkie. Szybko działa także wstawianie na konkretnie zadaną pozycję. Przeszukiwanie sekwencyjne jest niezbędne, aby odnaleźć obiekty po indeksie lub wartości. Przeszukiwanie to mooże byś relatywnie wolne przede wszystkim przy strukturze o dużych rozmiarach.

Przy używaniu Listy wskaźników na obiekty (CObList), a dokładnie przy usuwaniu elementów bądź czyszczeniu listy usuwane są tylko wskaźniki na element, a nie konkterne obiekty. Bo co to by było jakby na dany obiekt wskazywało jeszcze pięć innych wskaźników.

Wszystkie z klas typu *List wykorzystują mechanizm SERIALIZACJI dostarczając w ten sposób metod dostępu do archiwum. Za pomocą operatorów <<,>> można szybko pobrać lub zapisać wartość tablicy do pliku za pomocą klasy CArchive dostępnej w funkcji Serialize zaimplementowanej dla klacy CDocument.

Jeżeli dla wyżej wymienionych klas chcemy stosować mechanizm Serializacji musimy użyć makra IMPLEMENT_SERIAL dla klasy, którą przetrzymujemy w strukturze.

Metody

Metody Opis
"NazwaKlasy"Konstruktor obiektu dla wybranej klasy
GetHeadZwraca element z początku listy - nie może być pusty
GetTailZwraca element z końca listy - nie może być pusty
RemoveHeadUsuwa element z początku listy
RemoveTailFunkcja usuwa element z końca listy
AddHeadDodaje na początek element listy bądź całą listę tworząc automatycznie nową "głowę"
AddTailFunkcja dodaje na koniec element listy bądź całą listę tworząc automatycznie nowy "ogon"
RemoveAllUsuwa wszystkie elementy listy
GetHeadPositionZwaraca pozycję pierwszego elementu listy
GetTailPositionZwaraca pozycję ostatniego elementu listy
GetNextUstawia wskaźnik na następnym elemencie listy
GetPrevUstawia wskaźnik na poprzednim elemencie listy
GetAtPobiera element z konkretnej pozycji
SetAtUstawia element na wskazanej pozycji
RemoveAtUsuwa element najdujący się na konkretnej pozycji
InsertBeforeWstawia nowy element przed wskazaną pozycją
InsertAfterWstawia nowy element za wskazaną pozycją
FindPobiera pozycję elementu wyspecyfikowanego przez wartość wskaźnika
FindIndexPobiera pozycję elementu wyspecyfikowanego przez index liczony od 0
GetCountZwraca liczbę elementów w strukturze
IsEmptySprawdza, czy lista jest pusta

Zobacz także

Tablice, Odwzorowania CTypedPtrList

Hierarchia

img/hr_clists.gif