Che è più o meno quello che fanno tutti gli allocatori.che allocano zone tutte della stessa memoria e hanno un puntatore alla successiva zona.
Se ti serve un buon allocatore, ti consiglio di dare un'occhiata al Doug Lea Allocator.
http://g.oswego.edu/dl/html/malloc.html
Così puoi studiarne il sorgente e renderti conto di come sia complicata la cosa.
Io l'ho usato e adattato alle mie esigenze, estraendo le funzioni che m'interessavano ( la malloc e la free) e poi impacchettando il tutto in un'interfaccia compatibile con lo std::allocator.
In questo modo invece di scrivere:
posso scrivere:codice:vector<MyClass> vec;
codice:vector< MyClass, CustomAllocator<MyClass> > vec;

Rispondi quotando