-
Data: 2009-01-06 11:29:02
Temat: Re: Memory pool
Od: Michał 'Khorne' Rzechonek <k...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 6 Sty, 01:45, Maciej Piechotka <u...@g...com> wrote:
> Chodzi o bloki o stałej wielkości. Poczytam.
Z palca, "proszenie o wiecej miejsca" jako cwiczenie dla czytelnika,
wystarczy dodac bloki do listy.
template<int Size>
class ChunkAllocator
{
struct Chunk
{
char memory[Size];
Chunk *next;
Chunk(): next(NULL) { }
};
public:
ChunkAllocator(size_t a_count): m_chunks(new Chunk[a_count])
{
for(size_t i = 0; i != a_count-1; ++i)
{
m_chunks[i].next = &m_chunks[i+1];
}
m_current = &m_chunks[0];
}
void *allocate()
{
if(m_current == NULL)
{
return NULL;
}
void *ptr = m_current->memory;
m_current = m_current->next;
return ptr;
}
void deallocate(void *a_chunk)
{
if(a_chunk == NULL)
{
return;
}
Chunk *chunk = reinterpret_cast<Chunk*>(a_chunk);
chunk->next = m_current;
m_current = chunk;
}
private:
Chunk *m_current;
Chunk *m_chunks;
};
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-03-14 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=