私はvtkを使ったプロジェクトを持っています。このプロジェクトでは、多くのvtkオブジェクトがプライベートメンバーとして構築されています。.hファイルで、次のようにvtkオブジェクトを初期化します。
vtkSmoothPolyDataFilter *m_SmoothFilter;
vtkDecimatePro *m_DecimatePro;
vtkCleanPolyData *m_CleanPolyData;
実行時に、これらのオブジェクトの一部はNew()コマンドで初期化されますが、そうでないものもあります。スマートポインターを使用できないため(UIパッケージが使用できないため)、デストラクタでこれらのオブジェクトを削除する必要があります。それらが初期化されているかどうかを理解するには、ブールチェックシステムを使用する必要があります。
if(m_SmoothFilter)
m_SmoothFilter->Delete()
if(m_DecimatePro)
m_DecimatePro->Delete()
ただし、このコードの抜粋では、オブジェクトが初期化されているかどうかは検出されません。どうすればこのチェックを行うことができますか?