【问题标题】:What arguments does new take?new 采用什么参数?
【发布时间】: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++


【解决方案1】:

这不是 new 接受参数,而是构造函数接受参数。

【讨论】:

    猜你喜欢
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 2017-02-09
    相关资源
    最近更新 更多