复制双向链表的构造函数

时间:2013-09-22 17:38:56

标签: c++ copy-constructor doubly-linked-list

我正在编写双链表的代码。 现在为复制构造函数,这是一个很好的方法。只是复制头部和尾部的指针或将整个列表复制到新列表? 谢谢。

2 个答案:

答案 0 :(得分:1)

复制整个列表。

我说复制构造函数的主要目的之一是复制整个列表并创建两个独立的对象。

复制/移动整个列表到一个新列表,以避免由于破坏其中一个副本,意外修改和许多其他问题导致的意外悬空指针... 复制后,它应该有两个独立的副本。


此外,由于你必须编写一个拷贝构造函数,你应该写:

  • 析构
  • 复制分配运算符
  • 移动构造函数
  • 移动赋值运算符

阅读Rule of five。此外,您可以利用copy-and-swap成语。

答案 1 :(得分:0)

我认为您可以在C ++ 11中阅读有关move构造函数或copy构造函数的更多信息。对于深层复制,您需要复制元素。