次のC++クラスがあります
class Object
{
public:
Object(parameters);
...
const Object& method1(parameters) const;
Object& method2(parameters) const;
private:
}
method1
とmethod2
実装は次のとおりです。
const Object& Object::method1(parameters) const
{
...
Object* _obj = new Object;
...
return *_obj;
}
Object& Object::method2(parameters) const
{
...
Object* _obj = new Object;
...
return *_obj;
}
コピー コンストラクターを定義していません。関数が割り当てられたオブジェクトへの参照を返すことはわかっていますが、それを削除するには「削除」を使用する必要があります。メモリの浪費を避け、情報の隠蔽を維持したいと考えています。
これはこれを行う正しい方法ですか、それとも何か不足していますか?