auto 是否推断出类型是指针?

Ale*_*ach 1 c++ unique-ptr auto

我不清楚我正在查看的函数中 auto 的用法。给定一个定义如下的参数:

someFunction(const unique_ptr<BSTNode<int>>& node, paramType param) {

函数体建立了一个局部变量,如下所示:

auto *localNode = node.get();

我对 auto 的理解是,它在编译时推断出分配给它的类型。文档声明unique_ptr::get()返回一个指向它管理的对象的指针。既然如此,为什么需要添加*到变量声明中呢?

Chr*_*odd 6

使用 a*来推导指针是不必要的,但可能是可取的。如果稍后更改代码,使得初始化程序不再返回指针,将*导致自动推导失败。如果使用此变量的代码在设计时考虑了指针,这可能是一件好事。