哪个库有全局new和delete运算符的定义?具体来说,库中的哪个文件包含这些运算符的定义?
答案 0 :(得分:3)
未指定定义它们的位置,但指定它们在标题<new>
中声明。 (如果您只使用非展示位置<new>
表达式使用的标准版本,则不必包含new
,这些版本可在所有翻译单元中自动使用。)
答案 1 :(得分:3)
operator new
和operator delete
(及其数组形式)的非展示形式在每个翻译单元的全局范围内隐式声明。
标准展示位置表单在<new>
中声明。
通常不提供库函数的定义。您的供应商可能会提供货源,在这种情况下,他们会在某处。
虽然,根据您的评论,您可能在谈论在 new-expression 中使用new
,而不是分配内存的operator new
函数。 new-expression 由编译器处理,生成对operator new
和对象构造函数的必要调用。任何地方都可能没有具体的实施方案;你需要查看编译器代码生成器的相关部分。