我在理解运算符重载方面遇到困难,在下一个示例中,=运算符被重载了两次,为什么?
ParkingLot& operator=(const ParkingLot& p) {
if (this != &p) { delete(); copy(p); }
return *this;}
ParkingLot& operator=(Parkinglot&& p) {
if (this != &p) { delete(); move(p); }
return *this;}
我看到这些与基于参数的复制和移动构造函数有关,但是究竟是什么,为什么在ParkingLot旁边有一个引用作为返回类型?预先谢谢你!