有个地方貌似讲错了?
这节中,关于+号的运算符重载例子中,貌似有个错误?
Coordinate &Coordinate::operator+(const Coordinate &c) { Coordinate temp(0, 0); temp.m_iX = this->m_iX + c.m_iX; temp.m_iY = this->m_iY + c.m_iY; return temp; }
这段中,rst是重载函数中的临时对象,感觉不应该这么作返回值呀?而老师却这么做了!
在Ubuntu g++中编译,也会得到警告提示
Coordinate.cpp:49:13: warning: reference to local variable ‘temp’ returned [-Wreturn-local-addr] Coordinate temp(0, 0); ^
请问我的理解是正确的吗?