当我阅读时:
这里:What's the difference between assignment operator and copy constructor?
显示了以下示例:
A aa;
A a = aa; //copy constructor
vs:
A aa;
A a;
a = aa; // assignment operator
我的问题是,为什么我们完全需要赋值运算符?我的意思是,在这种情况下,使用副本构造函数执行相同的工作将更加有效。
有人可以举一个使用赋值运算符的真实示例,而该赋值运算符不能被复制构造函数替代吗?
最佳答案
如果要在构造值后更改值,则需要分配。例如:
std::map
std::vector
内的第n个值这份名单几乎可以无休止地继续下去。但是在您的示例中,确实可以避免使用分配。
关于c++ - C++赋值运算符,我们可以将其替换为copy吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61997521/