動的メモリがアタッチされているオブジェクト (関数内でローカルに宣言されている) を返す方法がわかりません。問題はデストラクタです。これは、オブジェクトがスコープ外になったときに動的メモリを実行して削除します。つまり、オブジェクトを返して、削除されたメモリ内のデータを使用したい場合です。オーバーロードされた加算演算子に対してこれを行っています。
私は次のようなことをしようとしています:
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; }
どんな提案でも大歓迎です!