<分区>
据我所知,指针保存一个值的地址,而引用可以被认为是const
指针。
来自这个示例代码:
int main() {
int i = 1;
int &ri = i;
int *pi = &i;
return 0;
}
反汇编,指针和引用看起来完全一样:
main:
push ebp
mov ebp, esp
sub esp, 16
mov DWORD PTR [ebp-12], 1
lea eax, [ebp-12]
mov DWORD PTR [ebp-8], eax
lea eax, [ebp-12]
mov DWORD PTR [ebp-4], eax
mov eax, 0
leave
ret
指针和引用是否仅由编译器强制执行?