0

哪个库有全局 new 和 delete 运算符的定义?具体来说,库中的哪个文件包含这些运算符的定义?

4

2 回答 2

3

没有指定这些定义的位置,但指定它们在 header 中声明<new><new>(如果您只是使用非放置表达式使用的标准版本,则不必包括在内new,这些在所有翻译单元中自动可用。)

于 2012-07-05T12:04:05.370 回答
3

operator newand的非放置形式operator delete(及其数组形式)在每个翻译单元的全局范围内隐式声明。

标准安置表格在 中声明<new>

库函数的定义通常不可用。您的供应商可能会提供源,在这种情况下,他们将在某处。

虽然,根据您的评论,您可能在谈论new-expressionnew中的使用,而不是分配内存的函数。new-expression由编译器处理,生成对对象构造函数的必要调用。任何地方都可能没有具体的实现;您需要查看编译器代码生成器的相关部分。operator newoperator new

于 2012-07-05T12:07:47.823 回答