C++ new操作符,会调用operator new(size_t, void *_Where)?

经简单测试没有中断在全局operator new。你说会中断在全局调用,但你提供的代码里不含测试代码,无法更进一步分析。考虑以下情况:全局的operator new在很多地方都会被调用到,你不能只简单看中断与否,还要看看调用堆栈查找来源,因为应该不会是你new A时被调用的。另外关于类成员的operate new的static是这样的:…… 。当我们将上述(标准库中new/delete的各重载版本)运算符函数定义成类的成员时,它们是隐式静态的。我们无须显示地声明 static,当然这么做也不会引发错误。——《C++ Primer》19.1.1
■网友
我试了下,断点是在类自定义的operator new函数里的。
■网友
VS2013下亲测只调用了重载的new,没使用全局版本。题主编译环境是什么可否告知一下
■网友
楼上说的对,重载operator时最好写上static,毕竟这不是类对象的成员函数。如果你重载,自然不会再调用全局的,不然new一个对象,岂不是全局和你自定义都要分配一次内存?
■网友
【C++ new操作符,会调用operator new(size_t, void *_Where)?】 C++ 内存分配(new,operator new)详解 这个应该是你想要的


    推荐阅读