在C++中重载赋值运算符和复制构造函数有什么区别?为什么都要用const限定符?

2025-03-04 12:52:18
推荐回答(2个)
回答1:

重载赋值运算符和复制构造函数 貌似效果一样。重载赋值运算符,书写方便一些。使用const 是为了防止常量意外被修改,其实程序编译后 使用const 的和没有使用const的汇编代码一样的。论坛的教程从汇编层面讲解 认识C++ 值得一看。

回答2:

使用赋值运算符时会调用拷贝构造函数。声明对象时,如果传递一个同类型对象作为参数也调用拷贝构造。使用const只是为了代码的健壮性,以保证赋值运算符的右值或者传入的对象不会被意外的修改。