Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 复制双链表的构造函数_C++_Copy Constructor_Doubly Linked List - Fatal编程技术网

C++ 复制双链表的构造函数

C++ 复制双链表的构造函数,c++,copy-constructor,doubly-linked-list,C++,Copy Constructor,Doubly Linked List,我正在为双链接列表编写代码。 现在是复制构造函数,这是一个好方法。只是复制头和尾的指针,还是将整个列表复制到新列表? 多谢各位 我想您可以阅读更多关于C++11中move构造函数或copy构造函数的内容。对于深度复制,您需要复制元素。复制整个列表。 我想说复制构造函数的一个主要目的是复制整个列表并生成两个独立的对象 将整个列表复制/移动到新列表中,以避免由于破坏其中一个副本、意外修改和许多其他问题而导致的意外悬空指针。。。 复制后,它应该有两个独立的副本 此外,由于必须编写副本构造函数,因此应

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

我想您可以阅读更多关于C++11中
move
构造函数或
copy
构造函数的内容。对于深度复制,您需要复制元素。

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

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


此外,由于必须编写副本构造函数,因此应编写:

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

阅读。此外,你可以利用习惯用法。

这个答案介绍了C++的两个工具,但是它没有解决这个问题。悬空指针。。正确的。。这肯定是复制指针的主要缺点。。非常感谢你。。我将把整个名单复制到新名单上@M.C++11具有“五个规则”。(还应实现移动构造函数和移动赋值运算符。)