将大对象存储在堆上而不是堆栈中会产生什么后果(如果有的话)?我记得读过,最好在堆栈上放置更大的对象以限制堆碎片……是这样吗? 谢谢
编辑:问题来 self 正在制作的游戏,我的基本对象将包含有关纹理、实体等的所有信息,很可能是在堆上创建的,我真的不知道它的大小,我们可以假设大约 300 MB
最佳答案
一般不会。
这取决于实现,但在许多系统上,堆栈的大小比堆的限制要大得多。如果在堆上分配了大量(小)对象,堆碎片通常会成为一个问题。它也往往是由某些分配和释放模式引起的。
关于c++ - 堆上有大对象不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8812102/