Из того, что я понимаю, указатели содержат адреса значения, а ссылки можно рассматривать как указатели 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
указатели и ссылки только исполнение компилятор?
пытается понять, что вы подразумеваете под «принудительным». Они являются языковыми функциями, и они работают по назначению. –
BTW, проверяющий неоптимизированную сборку, - это плохой способ узнать, поскольку вы только действительно узнаете об отдельных деталях реализации реализации. Вы можете упустить тот факт, что 'int ri = 1; int & i = ri; 'будет иметь такое же поведение. –