在同一指令中引用和解除引用

Gia*_*bue 5 c++ pointers reference

通过LLVM源代码想知道我偶然发现了这行代码

MachineInstr *MI = &*I;
Run Code Online (Sandbox Code Playgroud)

我在c ++中有点新手,引用和指针之间的区别对我来说是相当模糊的,我认为它有关于这种差异的事情,但这个操作对我来说没有意义.有没有人对此做出解释?

Die*_*ühl 8

类型I可能是某种迭代器或智能指针,它具有一元operator*()重载以产生一个MachineInstr&.如果您想获得一个指向I您引用的对象的内置指针,请获取对该对象的引用*I,然后使用该引用的地址&*I.