就是预先分配好物理内存,之后声明变量的时候可以直接使用
比如
int main(){
AllocateMemeory(1024);//这时候就预定了1024b内存
Obj * a = new Obj();//直接使用上面的内存
}
或者说这样不可行,非要像自己建内存池那么复杂
就是预先分配好物理内存,之后声明变量的时候可以直接使用
比如
int main(){
AllocateMemeory(1024);//这时候就预定了1024b内存
Obj * a = new Obj();//直接使用上面的内存
}
或者说这样不可行,非要像自己建内存池那么复杂
如果是平凡类, 可以直接用. 其它的需要重载 operator new, 如果不熟悉, 会产生内存泄漏.
#include <new>
struct test
{
int a;
int b;
};
int main()
{
void *mempool = operator new[](sizeof(test) * 5); // operator new
test *b = new (mempool) test[5]{{11, 10}}; // placement new
operator delete(mempool); // operator delete
return 0;
}