具体的には、次のうちどれを書くべきか迷っています。
{
shared_ptr<GuiContextMenu> subMenu = items[j].subMenu.lock();
if (subMenu)
subMenu->setVisible(false);
}
また:
{
if (items[j].subMenu.lock())
items[j].subMenu.lock()->setVisible(false);
}
スタイルのガイドラインに従う必要はありません。最適化後、どちらを選択してもパフォーマンスに違いはないと思います。一般的に好まれるスタイルとその理由は何ですか?
編集: items[j].subMenu のタイプは boost::weak_ptr です。lock() は、そこから shared_ptr を作成します。上記の 2 つのバージョンには、一時的な shared_ptr の持続時間に関して実際にはあいまいな違いがあるため、あいまいさを解決するために 2 つの例を { 中括弧 } で囲みました。