freelist — Klasa
Zarządza listą bloków pamięci.
Składnia
template <std::size_t Sz, class Max>
class freelist : public Max
Parametry
Sz
Liczba elementów w tablicy do przydzielenia.
Maksimum
Maksymalna klasa reprezentująca maksymalną liczbę elementów, które mają być przechowywane na liście bezpłatnej. Maksymalna klasa może być max_none, max_unbounded, max_fixed_size lub max_variable_size.
Uwagi
Ten szablon klasy zarządza listą bloków pamięci o rozmiarze Sz o maksymalnej długości listy określonej przez maksymalną klasę przekazaną w polu Max.
Konstruktory
Konstruktor | opis |
---|---|
lista bezpłatna | Tworzy obiekt typu freelist . |
Funkcje składowe
Funkcja składowa | opis |
---|---|
Pop | Usuwa pierwszy blok pamięci z bezpłatnej listy. |
push | Dodaje blok pamięci do listy. |
Wymagania
Nagłówek:<alokatory>
Przestrzeń nazw: stdext
freelist::freelist
Tworzy obiekt typu freelist
.
freelist();
Uwagi
freelist::p op
Usuwa pierwszy blok pamięci z bezpłatnej listy.
void *pop();
Wartość zwracana
Zwraca wskaźnik do bloku pamięci usuniętego z listy.
Uwagi
Funkcja składowa zwraca wartość NULL, jeśli lista jest pusta. W przeciwnym razie usuwa pierwszy blok pamięci z listy.
freelist::p ush
Dodaje blok pamięci do listy.
bool push(void* ptr);
Parametry
ptr
Wskaźnik do bloku pamięci, który ma zostać dodany do bezpłatnej listy.
Wartość zwracana
true
full
jeśli funkcja klasy max zwraca false
wartość ; w przeciwnym razie push
funkcja zwraca false
wartość .
Uwagi
full
Jeśli funkcja klasy max zwraca false
wartość , ta funkcja składowa dodaje blok pamięci wskazywany przez ptr do nagłówka listy.
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla