今天突然想到,如果我们对一个引用取地址,那么会怎么样呢,例如这样
#include <stdio.h> class CNumber { public: int n; }; void printByPointer(CNumber* pNumber) { printf("%d\n", pNumber->n); } void printByRef(CNumber& oNumber) { printf("%d\n", oNumber.n); } void passPointer(CNumber& oNumber) { printByPointer(&oNumber); } int main() { CNumber oNumber; oNumber.n = 5; printByPointer(&oNumber); printByRef(oNumber); passPointer(oNumber); return 0; }
显然前面两个都可以正常运行,那么第三个呢,实测下来,也是可以的,也就是说,对一个引用取地址,可以得到正确的地址