我读书的时候:
What's the difference between assignment operator and copy constructor?
这里:What's the difference between assignment operator and copy constructor?
显示了以下示例:
A aa;
A a = aa; //copy constructor
对比:
A aa;
A a;
a = aa; // assignment operator
我的问题是,为什么我们需要赋值运算符?我的意思是在这种情况下使用复制构造函数会更有效,同时它可以完成相同的工作。
有人可以举一个真实世界的例子,说明使用赋值运算符不能被复制构造函数替换吗?
最佳答案
当你想在一个值已经被构造后改变它时,你需要赋值。例如:
std::map
中的值std::vector
中的第 n 个值这份名单真的可以无休止地继续下去。但是在您的示例中,确实可以简单地避免使用赋值。
关于C++赋值运算符,我们可以用copy来代替它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61997521/