私の質問はこれに似ていますが、必要な情報が見つかりませんでした。クラスコンストラクターがあります。
CustomTreeViewItem::CustomTreeViewItem(CustomTreeView* list)
: m_childs(), m_expanded(false), m_list(list), m_components(), m_depth(1),
m_rect(), m_root(this)
{}
コンストラクターでポインターを使用しthis
ますが、そこからメソッドを呼び出さないため、未定義の動作を呼び出しません。それですべて問題ありませんが、警告が表示されました。現在、いくつかの lib (小さなフレームワーク) を作成しているため、エラーのないコードを作成する必要があります。したがって、コードを次のように変更しました。
CustomTreeViewItem::CustomTreeViewItem(CustomTreeView* list)
: m_childs(), m_expanded(false), m_list(list), m_components(), m_depth(1),
m_rect(), m_root(NULL)
{
m_root = this;
}
今では警告は表示されませんが、この方法ではパフォーマンスが低下します (非常にわずかですが、とにかく損失です)。最高のパフォーマンスを維持し、この警告を回避する方法がないかどうかお尋ねしたいと思います。