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