为程序预先分配内存空间

时间:2012-05-18 12:22:41

标签: c++ memory-management

在我的Windows'C ++程序中,我通过调用 new CMyClass()

在堆上分配几个小对象(数千个)

由于这一点,表现似乎受到了影响。

有没有办法在堆中预先分配一些最小内存以供程序使用,这样当我调用新CMyClass()来提高性能时,操作系统会从这个预分配的空间开始分配?

感谢。

1 个答案:

答案 0 :(得分:8)

您似乎在寻找内存池 - http://www.codeproject.com/Articles/27487/Why-to-use-memory-pool-and-how-to-implement-it

请注意,您可以预先分配一些内存,然后使用placement new来防止多次分配。