【问题标题】:C++ How to create a new object while assigning it to anotherC ++如何在将新对象分配给另一个对象的同时创建一个新对象
【发布时间】:2020-07-05 16:09:53
【问题描述】:

我想把这段 C# 代码转换成 C++:

list.head = new LinkedListNode("head node data");

如何在 C++ 中用一行代码做到这一点,我不想这样做:

LinkedListNode headnode("head node data");
list.head = headnode;

【问题讨论】:

  • 如果 C++ 代码可以编译,为什么不直接做list.head = LinkedListNode("head node data");
  • 感谢您的回答,如果我打开一个新标题,我还有另一个读取访问错误的问题
  • 当然可以,但一定要包含minimal reproducible example。当我们不得不猜测事物的声明方式时,很难正确回答问题。

标签: c++ oop


【解决方案1】:

在 c++ 中,你会这样做:

list.head = new LinkedListNode("head node data");

假设list.head 的类型为LinkedListNode*

如果list.headLinkedListNode 类型,那么您可以简单地这样做:

list.head = LinkedListNode("head node data");

【讨论】:

  • 感谢您的回答,如果我打开一个新标题,我还有另一个读取访问错误的问题
【解决方案2】:

我认为这篇文章与你的目的相似。

What happens when a new object is created using another (existing) object?

告诉我它是否有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 2017-01-25
    • 2012-01-06
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多