全局
void* operator new(size_t)
void operator delete(void *)
gcc下可以重载,vs2008不能,链接错误。
void * operator new(size_t size)
{
return malloc(size);
}
void operator delete(void *p)
{
free(p);
}
作为class的class
{
void* operator new(size_t size)
void operator delete(void *p)
}
重载全局operator new/delete可以加参数,但是正常释放是不会调用到重载参数版本delete,还是会调用默认版本,所以多参数重载其实没什么用处。
void* operator new(size_t size, const char *file, int line)
void operator delete(void *p, const char *file, int line)
placement new版本,不能被重载
void *operator new( size_t, void *p ) throw() { return p; }
posted on 2014-07-22 11:29
pizzx 阅读(501)
评论(0) 编辑 收藏 引用 所属分类:
c++/boost