各位老师好,为什么重载new,会把重载new叫做重载 全局new

liulin2028 liulin2028 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
www.cplusplus.com

提供的operator new一共有3个版本。

不知道这个网站的c++是哪一个版本的, 比较出名的有98版本呢, 2003版本,11版本。

以上是从c++标准来区分 版本。



微软自己也搞了一些operator new函数。 比如在mfc中。 就有检测内存泄露的版本。
个人认为 形如 微软的这种行为才叫重载 全局new, 只要使其 调用到了微软的检测内存泄露的版本,

无论是 内置类型,还是自定义类型。都是具有检测内存泄露的功能。

有的网友认为以下行为也输入 重载全局new

class Test
{
public:
void* operator new(,,,){......};

};


不知道为什么有这这种观念?

我认为这种方式的重载,只能针对Test类的行为, 根本不叫全局。

全局嘛,自然是应对所有类型。

大家觉得呢?

...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
liulin2028
C++ 语言 65,214 成员 250,514 内容