还是赶紧买本深入C++对象机制吧,引用和指针的汇编代码惊人的相似,应该实现方法是和指针一样的,但是引用的初始化和只能定义一次的限制应该还是编译器来保证的。
int a = 100;
004113BE mov dword ptr [a],64h
int* addr = &a;
004113C5 lea eax,[a]
004113C8 mov dword ptr [addr],eax
int&b = a;
004113CB lea eax,[a]
004113CE mov dword ptr [b],eax
*addr = 4;
004113D1 mov eax,dword ptr [addr]
004113D4 mov dword ptr [eax],4
b = 4;
004113DA mov eax,dword ptr [b]
004113DD mov dword ptr [eax],4