今天突然想到,如果我们对一个引用取地址,那么会怎么样呢,例如这样
#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;
}
显然前面两个都可以正常运行,那么第三个呢,实测下来,也是可以的,也就是说,对一个引用取地址,可以得到正确的地址