関数から非ポインタを返すためのベストプラクティスは何ですか?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た、それは問題ないようですが、より良い方法はありますか?