Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przypadku obsługi agregacji danych biblioteka klas udostępnia grupę klas kolekcji — tablice, listy i mapy — które mogą zawierać różne typy obiektów i wstępnie zdefiniowanych typów. Kolekcje mają dynamicznie zmieniający się rozmiar. Te klasy mogą być używane w dowolnym programie, niezależnie od tego, czy są napisane dla systemu Windows, czy nie. Są one jednak najbardziej przydatne do implementowania struktur danych, które definiują klasy dokumentów w strukturze aplikacji. Możesz łatwo utworzyć wyspecjalizowane klasy kolekcji na podstawie tych klas lub utworzyć je na podstawie klas szablonów. Aby uzyskać więcej informacji na temat tych podejść, zobacz artykuł Kolekcje. Aby uzyskać listę klas kolekcji szablonów, zobacz artykuł Klasy szablonów dla tablic, list i map.
Tablice to jednowymiarowe struktury danych, które są przechowywane stale w pamięci. Obsługują bardzo szybki dostęp losowy, ponieważ adres pamięci dowolnego elementu można obliczyć przez pomnożenie indeksu elementu przez rozmiar elementu i dodanie wyniku do podstawowego adresu tablicy. Jednak tablice są bardzo kosztowne, jeśli trzeba wstawić elementy do tablicy, ponieważ wszystkie elementy tablicy po wstawionym elemencie muszą zostać przeniesione, aby zrobić miejsce na wstawiany element. Tablice mogą rosnąć i zmniejszać się w razie potrzeby.
Listy są podobne do tablic, ale są przechowywane bardzo inaczej. Każdy element na liście zawiera również wskaźnik do poprzednich i następnych elementów, dzięki czemu jest to podwójnie połączona lista. Bardzo szybko można dodawać lub usuwać elementy, ponieważ polega to tylko na zmianie kilku wskaźników. Jednak wyszukiwanie listy może być kosztowne, ponieważ wszystkie wyszukiwania muszą zaczynać się od jednego z końców listy.
Mapy odnoszą wartość klucza do wartości danych. Na przykład klucz mapy może być ciągiem, a dane wskaźnikiem na liście. Należy poprosić mapę o podanie wskaźnika skojarzonego z określonym ciągiem. Wyszukiwanie map jest szybkie, ponieważ mapy używają tabel skrótów do wyszukiwania kluczy. Dodawanie i usuwanie elementów jest również szybkie. Mapy są często używane z innymi strukturami danych jako indeksami pomocniczymi. MFC używa specjalnego rodzaju mapy zwanej mapą komunikatów, aby przyporządkować komunikaty systemu Windows do wskaźnika funkcji obsługi tych komunikatów.