用于C ++ 03标准容器的堆栈分配器

时间:2015-10-28 14:09:25

标签: c++ stl c++03 allocator

对于软件,我必须避免在堆中使用任何内存,并且只依赖于堆栈分配的内存。然后,这阻止我使用任何C ++标准容器,例如vector,map,string(well,basic_string),我真的想使用它来简化开发和数据操作。

我找到了(很多)堆栈分配器的实现,例如this one本身引用了另外两个,或者来自chrome的this one

他们中的许多人并不完全符合标准,或者依赖于C ++ 11(而且我现在仍然坚持使用C ++ 03,遗憾的是)。你对C ++ 03现有的堆栈分配器有任何反馈意见,还是应该适应上述其中一种呢?

谢谢!

1 个答案:

答案 0 :(得分:4)

Howard Hinnant的short_alloc.hsee also here)是一个非常好的开始(您需要添加C ++ 03样板,请参阅here)。

当然,如果内存不足,它仍会进入堆,另一种方法是抛出std::bad_alloc