class があるとしmyClass < handle
ます。のMathworks ヘルプ ページからclear
、
ハンドル グラフィックス ハンドルをクリアしても、オブジェクト自体は削除されず、オブジェクトを削除しても、ハンドルを格納している変数は削除されません。
hf = figure; % Creates figure object, stores handle in variable hf
delete(hf) % Removes figure object, but not the variable hf
clear hf % Removes hf from the workspace; figure could still exist
そのため、最初clear
に明示的に指定しない限り、ハンドル オブジェクトを ing してもメモリから削除されませんdelete
。
デストラクタを指定して、myClass
適切なクリーンアップを行い、それへの参照をいくつか削除しました。このデストラクタは呼び出されませんclear
。オブジェクトがクリアされたときにそのデストラクタを呼び出すことはできますか?
編集:オブジェクトへの参照がない場合、 whiledelete
は a で自動的に呼び出されることに言及する必要があります。たとえば、 を参照するプロパティを持つ別のクラスがあります。のプロパティではないその他のプロパティが にありますが、 も空の場合は空にする必要があります。それが意味をなさない場合はお知らせください。少し言葉が多すぎた可能性があります。clear
myClass
myOtherClass
myClass
myOtherClass.a
myOtherClass
myClass
myOtherClass.a