首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

麻烦大家帮助看看重载new和delete时出现的有关问题

2012-03-17 
麻烦大家帮助看看重载new和delete时出现的问题本人重载了全局的new delete操作符,linux平台,gcc编译器不知

麻烦大家帮助看看重载new和delete时出现的问题
本人重载了全局的new delete操作符,linux平台,gcc编译器
不知道为什么 new 被调用了,而 delete 没有被调用,郁闷啊

void* operator new(size_t size, const char *file, int line);
void* operator new[](size_t size, const char *file, int line);

void* operator new(size_t size);
void* operator new[](size_t size);
void* operator new(size_t size, const std::nothrow_t&);
void* operator new[](size_t size, const std::nothrow_t&);


void operator delete(void *p) throw();
void operator delete(void *p, const char *file, int line);
void operator delete[](void* p) throw();
void operator delete[](void* p, const char *file, int line);

void operator delete(void*, const std::nothrow_t&) throw();
void operator delete[](void*, const std::nothrow_t&) throw();


补上
上而非加上
void* operator new(size_t size, const char *file, int line);
void* operator new[](size_t size, const char *file, int line);

被调用了,用来跟踪内存分配的,其他的也没用调用,
delete调用的是库自带的,而不是我写的,晕啊,第一次重载操作符,大家帮忙啊

[解决办法]
把throw()去掉试试?
[解决办法]
贴一下,调用New和Delete的代码
[解决办法]
1.#include<new> 
2.重载的版本不要放到一个命名空间。

如果再不行的话,new一段很大的内存使其抛出异常看看调用的是哪个delete

热点排行