随笔 - 21  文章 - 0  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿

随笔分类

随笔档案

文章分类

搜索

  •  

最新评论

阅读排行榜

评论排行榜

全局
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 阅读(487) 评论(0)  编辑 收藏 引用 所属分类: c++/boost

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理