関数から非ポインタを返すためのベストプラクティスは何ですか?const
そのポインタは(非const
)ポインタを変更することによって取得されましたconst
か?このような:
NODE *top_level(const NODE *input)
{
while (input->parent != nullptr)
input = input->parent; // NODE::parent is (non-const) NODE*
return input; // Compile failure:
// Cannot convert from 'const NODE *' to 'NODE *'
}
私は帰りに離れることができconst_cast
ましconst
た、それは問題ないようですが、より良い方法はありますか?