繁体   English   中英

在赋值运算符中使用复制构造函数获取链表

[英]Using copy constructor in assignment operator for a linked list

我需要实现一个通用映射。 我决定用一个链表来实现它。 我注意到复制构造函数和赋值运算符相似,因为它们都创建和复制链接列表。 所以我想知道是否可以在赋值运算符中使用复制运算符,反之亦然。 你有个主意吗?

在大多数情况下,如果您已经定义了副本构造函数,则在执行副本分配时就已经使用了它。 也就是说,在一般情况下,编译器会隐式使用副本构造函数来定义副本分配。

例:

#include<iostream>
using namespace std;
struct copy_me {
   int member;
   copy_me() : member(0) {};
   copy_me(const copy_me &other) : member(other.member) {
      cout << "copy const called" << endl;
   };
};

int main() {
   copy_me me;
   copy_me other = me;
   return other.member;
}

输出:

copy const called

要回答您的特定问题:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM