对于软件,我必须避免在堆中使用任何内存,并且只依赖于堆栈分配的内存。然后,这阻止我使用任何C ++标准容器,例如vector,map,string(well,basic_string),我真的想使用它来简化开发和数据操作。
我找到了(很多)堆栈分配器的实现,例如this one本身引用了另外两个,或者来自chrome的this one。
他们中的许多人并不完全符合标准,或者依赖于C ++ 11(而且我现在仍然坚持使用C ++ 03,遗憾的是)。你对C ++ 03现有的堆栈分配器有任何反馈意见,还是应该适应上述其中一种呢?
谢谢!
答案 0 :(得分:4)
当然,如果内存不足,它仍会进入堆,另一种方法是抛出std::bad_alloc
。