去参考指针的地址?

tal*_*las 5 c++ pointers

我在工作的其他代码(Qt桌面应用程序)上工作,发现这个:

connect( &*mpMainWin, SIGNAL(whatever()), this, SLOT(whatever()) ));
Run Code Online (Sandbox Code Playgroud)

我很难理解这部分内容&*mpMainWin.据我所知,它会返回指针的地址mpMainWin.

但是mpMainWin已经拥有该地址,因此直接将其作为参数给出应该具有相同的结果.

所以,如果我没有遗漏任何东西而且我的逻辑是正确的,那么做这样的事情的原因是什么?如果有一个什么时候我们应该使用那种语法?

dou*_*lep 9

这可以用作将智能指针(即,实际上不是指针,实现的类operator*())转换为普通指针的技巧.如果没有看到如何mpMainWin宣布,就不可能说这是否是这种情况.如果mpMainWin是一个以if 开头的普通指针,&*mpMainWin则与just一样mpMainWin.