gpt4 book ai didi

c++ - 作为复制构造函数的赋值运算符

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:10 25 4
gpt4 key购买 nike

赋值运算符可用于将一个对象的值复制到另一个对象而不是使用复制构造函数,那么为什么我们需要一个复制构造函数?

class example  
{
int data;
public:
example()
{
}

example(int x)
{
data = x;
}
};

int main()
{
example a(50);
example a(b);
//same can be done with the assignment operator
//b = a;
return 0;
}

最佳答案

因为在调用复制构造函数时,被复制到的对象还不存在。

赋值运算符将另一个对象的值赋给一个确实存在的对象。

成员初始化等设备可以与复制构造函数一起使用,但在赋值时不可用。此外,可以使用复制构造函数创建 const 对象。

此外,赋值运算符通常会返回对自身的引用。

因此,复制构造函数和赋值运算符可能会使变异对象处于相同状态,但不一定必须如此。 p>

关于c++ - 作为复制构造函数的赋值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48418966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com