2015-10-28 6 views
5

Für eine Software muss ich jede Verwendung von Speicher im Heap vermeiden, und nur auf Stapelspeicher zugreifen. Dann hindert mich das daran, C++ - Standardcontainer wie Vektor, Map, String (naja, basic_string) zu verwenden, die ich wirklich gerne benutzen würde, um die Entwicklung und Datenmanipulation zu erleichtern.Stapelverteiler für C++ 03 Standardcontainer

Ich fand (viele) Implementierungen von Stapelverteiler, wie this one, die sich selbst auf zwei andere bezieht, oder this one aus Chrom.

Viele von ihnen sind nicht vollständig kompatibel mit dem Standard, oder verlassen sich auf C++ 11 (und ich bin im Moment leider mit C++ 03 fest). Haben Sie Feedback zu einem bereits vorhandenen Stack Allocator für C++ 03 oder sollte ich eines der oben genannten anpassen?

Danke!

+4

Howard Hinnant gibt eine [C++ 03 bolierplate für seinen Zuordner] (http://howardhinnant.github.io/allocator_boilerplate.html) siehe auch [Fragen zu Hinnants Stapelzuweiser] (http://stackoverflow.com/ q/11648202/1708801) –

Antwort

3

Howard Hinnants short_alloc.h (see also here) ist ein ziemlich guter Start (Sie müssen C++ 03 Boilerplate hinzufügen, siehe here).

Natürlich wird dies immer noch auf den Haufen gehen, wenn es nicht genügend Arbeitsspeicher, die Alternative ist, std::bad_alloc zu werfen.