原則として、フリー ストアに割り当てられたオブジェクトのみがメモリ リークを引き起こす可能性があります。しかし、スタックで作成されたオブジェクトはそうではありません。
ここで私の疑問は、
int main()
{
myclass x;
...
throw;
...
}
throw が処理されない場合は、terminate() が呼び出され、次に abort() が呼び出されてアプリケーションがクラッシュします。このとき、スタック内のオブジェクトは破棄されません (デストラクタは呼び出されません)。
私の理解では、「アプリケーションが(中止または通常の終了によって)終了すると、アプリケーションに割り当てられたすべてのメモリが解放されます」。したがって、これはメモリ リークとは見なされません。
私は正しいですか?