读书人

怎么在一块指定的内存下调用构造函数

发布时间: 2012-09-29 10:30:01 作者: rapoo

如何在一块指定的内存上调用构造函数?
由于特别的原因,我需要不通过重载new实现内存池。那么应当如何在给定地址上调用构造函数?

[解决办法]
用placement new不算重载吧?

C/C++ code
int a[10];    int *p = new(a) int;
[解决办法]
不必调用,你可以把待释放的内存用空闲链表保存起来,最后统一释放,链表节点结构自己定义一下
[解决办法]
探讨

用placement new不算重载吧?
C/C++ code

int a[10];
int *p = new(a) int;


这样就不用开辟新内存了

[解决办法]
class A
char* p=new char(sizeof(A));
A* q=new(p) A;
使用placement new可以实现
[解决办法]
placement new

读书人网 >C++

热点推荐