各位老师好,为什么重载new,会把重载new叫做重载 全局new
www.cplusplus.com
提供的operator new一共有3个版本。
不知道这个网站的c++是哪一个版本的, 比较出名的有98版本呢, 2003版本,11版本。
以上是从c++标准来区分 版本。
微软自己也搞了一些operator new函数。 比如在mfc中。 就有检测内存泄露的版本。
个人认为 形如 微软的这种行为才叫重载 全局new, 只要使其 调用到了微软的检测内存泄露的版本,
无论是 内置类型,还是自定义类型。都是具有检测内存泄露的功能。
有的网友认为以下行为也输入 重载全局new
class Test
{
public:
void* operator new(,,,){......};
};
不知道为什么有这这种观念?
我认为这种方式的重载,只能针对Test类的行为, 根本不叫全局。
全局嘛,自然是应对所有类型。
大家觉得呢?