代码改变世界

好奇为何某些场景会要禁止堆上内存分配

2021-08-16 16:11  放作夥  阅读(75)  评论(0编辑  收藏  举报

有些实时系统,譬如战斗机驾驶辅助系统,考虑到堆上动态分配有太大的不确定性,譬如内存泄漏,且比栈上分配性能稍逊,譬如通过一套空闲内存检索管理算法寻找空闲内存,而栈分配只需移动
栈指针,所以在这种特殊场景下会禁用堆分配。实际实现上可以定义重载过new的基类,让不允许堆上分配的对象类继承。