operator new与对象的隐式创建

编程语言 2026-07-10

标准规定,调用名为 operator newoperator new[] 的函数会隐式创建对象(来源)。

它是否仅适用于 ::operator new::operator new[],还是也适用于重载版本 T::operator newT::operator new[]

解决方案

这取决于“名字”是指未限定名还是完全限定名。据 [basic.pre]/3 所述,它是未限定的:

一个名字是...

(3.3) — 一个 operator-function-id ... [或其他一些东西]

其中:

operator-function-id
operator operator

operator:是下列之一
new ...

因此成员 operator new/operator new[] 也包含在其中。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章