デストラクタ
別名:解体子
【英】destructor
デストラクタとは、C++などのオブジェクト指向のプログラミング言語において、あるオブジェクトを破棄する際に呼び出す関数のことである。
プログラムは処理のためにメモリ領域などの資源を一時的に占有するので、処理が済んだ後はそれらの資源を自由に使用できるよう開放してやる必要がある。適切に開放が行わなければ、新しく使用できる資源が少なくなってメモリリークなどの異常を起こしてしまう。デストラクタを用いれば、プログラム内の任意のオブジェクトを終了し、資源に空き領域を確保することができる。デストラクタにがオブジェクトを開放してやることで、そのオブジェクトのために確保していた資源を開放し、他のオブジェクトやアプリケーションなどに資源を使用できるようになる。
JavaやC#などの言語においては、ファイナライザ(finalizer)と呼ばれる関数がデストラクタに対応している。ただし、これらのプログラミング言語では仮想マシンとよばれる環境が自動的に空きメモリを確保する仕組みを持っているため、基本的にデストラクタを呼び出す必要はない。
ちなみに、デストラクタに対してオブジェクトを初期化するための関数はコンストラクタなどと呼ばれている。
参照リンク
C# および C++ のデストラクタ構文 - (Microsoft)
|