我应该担心 std::vector 的内存碎片吗?如果是这样,有什么方法可以帮助预防吗?我并不总是预测我的程序会在 PC 上运行,它们也可能会在嵌入式设备/游戏控制台上运行,因此我并不总是能够依赖虚拟内存。
然后,我再次相信使用动态大小的数组而不是静态数组会更有效,因此只有在需要时才会分配内存。它还会简化我的程序的设计过程。有没有办法可以有效地实现这一目标?
感谢您的任何建议!
您担心的答案可能是std::deque
。它为您提供了与以下类似的界面std::vector
,但对于碎片内存效果更好,因为它分配几个小数组而不是一个大数组。实际上效率低于std::vector
在某些方面,但对于您的情况来说,这可能是一个很好的权衡。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)