从函数返回指向非的指针的最佳实践是什么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
返回时离开,这似乎很好,但有更好的方法吗?