デストラクタ メソッドを使用してオブジェクトを削除することは可能ですか?
私のクラスのコンストラクタとデストラクタ:
class cal
{
public:
cal()
{
days = 0;
day = 1;
month = 1;
year = 1300;
leap = true;
};
~cal()
{
delete this;
}
}*calendar = new cal;
クラスを介してこのポインタを削除するにはどうすればよいですか?
PS
次のコードを書き忘れました
cal *calandar = new cal[];
スタックではなくヒープで使いたい
このクラス (オブジェクト) を頻繁に (そのオブジェクトの多く) 使用したい 削除を何回書く必要があるかを想像すると、コードの理解、トラブルシューティング、およびトレースが困難になる それらを自動的に (ヒープで) 破棄したい
「delete [] calendar」を実行するときに、クラスで次のコードを使用しました。これにより、占有されている RAM (使用される RAM の量) が削減されます。プログラムを終了することによって、正しく動作しますか (すべてのオブジェクトを破棄します)? 私はGNU / Linusを使用しており、その行の有無にかかわらずすべてのオブジェクトを破壊するため、ウィンドウでのリークが心配です
void DisposeObject() { delete this; }