c++ でデストラクタを使用してメモリの割り当てを解除する必要があるのはなぜですか?
使えるように
delete or delete[]
プログラムが終了すると、プログラムによって使用されたすべてのメモリが解放されるというのは真実ではありませんか。
c++ でデストラクタを使用してメモリの割り当てを解除する必要があるのはなぜですか?
使えるように
delete or delete[]
プログラムが終了すると、プログラムによって使用されたすべてのメモリが解放されるというのは真実ではありませんか。
RAII を使用すると、デストラクタが呼び出されることが保証されます。使用しなければならないというわけではありませんが、自動リソース管理が可能になるため、一般的に RAII を利用することをお勧めします。つまり、プログラムを正しく作成すれば、リソースやメモリのリークは発生しないため、心配する必要さえありません。
これは、C++ だけでなく、C#、Java、さらには C (非標準の拡張機能による) など、自動リソース管理をサポートする他の言語にも当てはまります。
基本的に、概念を理解するには、おそらく C++ に関する本を読む必要があります。役立つかもしれない小さな記事も書きました。こちらを参照してください。
それが役に立てば幸い :)