复制对象声明中的构造函数并从函数返回

时间:2011-07-08 13:12:04

标签: c++ copy-constructor

我们不能简单地重载“=”运算符而不是在对象声明中使用复制构造函数并从函数返回,即

someclass X = Y;
X=somefunction();

我可以在someclass中重载“=”运算符而不提供复制构造函数。

是否有任何情况需要复制构造函数和重载“=”运算符以避免两个单独对象的指针变量指向相同的内存位置?

1 个答案:

答案 0 :(得分:1)

不,这些是不同的概念,出于性能原因,它们都存在。

  • 创建 new 对象(来自现有对象)时使用复制构造函数。
  • 当对象已存在时使用分配,但您想为其指定新值。

如果你提供其中一个也提供另一个。