【发布时间】:2023-01-04 23:54:17
【问题描述】:
C++ 中的 new 是否在幕后调用构造函数?或者是周围的其他方式?
我看到像 new MyClass(*this) 这样的代码让我很困惑,因为我不知道 new 可以接受参数。
也许那是因为 new 调用了它的构造函数之一,因此它可以接受任何定义的构造函数声明的参数?
我想这已经被问过了,但我找不到回答它的问题。
【问题讨论】:
-
@appleapple 那是不是安置新
-
虽然这不是一个坏问题,但它表明您需要 good C++ book。构造函数可以接受各种参数。你为什么不这么想?
std::string还如何使用预先存在的值构建? -
@NathanOliver 哦,谢谢。这只是一个带参数的构造函数调用
-
new MyClass(*this)调用构造函数,您将参数传递给构造函数,而不是new本身。
标签: c++