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)详解 这个应该是你想要的
推荐阅读
- 探访水电厂“内科医生”:操作精度达头发丝的六十分之一
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- 英雄联盟快捷键Q、E、R咋操作呢
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- 环球车讯网|特斯拉FSD新版,会更接近人类的操作习惯?
- 客栈通PMS咋操作和携程账号直连
- 既然c程序编译为机器码直接操作硬件,为啥不同操作系统下需要重新编译
- 如果要在手机上做一款FPS+MOBA,你会咋设置操作模式来让其获得最佳体验
- 看看新闻Knews|掐大腿都不管用!司机疲劳驾驶 一脚油门撞店铺
- 看看新闻Knews|F1赛车起火折断 法国车手感谢“人字拖”救命
