我很難找出一種方法來返回一個對象(在函數中本地聲明),它具有連接到它的動態內存。問題是析構函數,它在對象超出作用域時運行並刪除動態內存,即當我返回它並想要使用已刪除內存中的數據時!我這樣做是爲了一個重載的加法運算符。用動態內存返回對象
我試着這樣做:
MyObj operator+(const MyObj& x, const MyObj& y)
{
MyObj z;
// code to add x and y and store in dynamic memory of z
return z;
}
我的析構函數很簡單:
MyObj::~MyObj()
{ delete [] ptr; }
任何建議,將不勝感激!
讀了讀這:['C++:Three'的規則(HTTP:// EN .wikipedia.org/wiki/Rule_of_three_(C++ _ programming)),然後[這個問題和答案](http://stackoverflow.com/questions/4172722/what-is-the-rule-of-reeree)。 – WhozCraig