【发布时间】:2010-12-02 20:20:47
【问题描述】:
为什么编译代码中的引用类型和指针是相同的?(你可以在第三和第四行看到)。我试图弄清楚,但显然我无法实现。
如果引用类型变量必须在声明时初始化并且不能更改,那么是否需要像在指针中那样进行间接寻址?
int x = 10;
mov dword ptr [x],0Ah
int y = x;
mov eax,dword ptr [x]
mov dword ptr [y],eax
int &i = y;
lea eax,[y]
mov dword ptr [i],eax
int *p = &x;
lea eax,[x]
mov dword ptr [p],eax
p = &i;
mov eax,dword ptr [i]
mov dword ptr [p],eax
x = i;
mov eax,dword ptr [i]
mov ecx,dword ptr [eax]
mov dword ptr [x],ecx
【问题讨论】:
标签: c++ compiler-construction pointers reference