Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Referencja, wskaźnik znaczenie znaku &

Ostatnio zmodyfikowano 2017-07-06 21:45
Autor Wiadomość
latajacaryba
» 2017-07-06 21:45:55
Kod maszynowy może być identyczny w obu wywołaniach funkcji...

Tylko, jeżeli referencja jest "brana za wskaźnik", to kod maszynowy funkcji, wywoływanych w ten sposób:
C/C++
int main()
{
    T t2;
    T & t = t2;
    T * tptr = & t;
    g1( * tptr );
    g1( t2 );
    g1( t );
}

Powinien być chyba taki sam? bo wg. assemblera:

kod maszynowy funkcji z argumentem którym jest obiekt == kod maszynowy funkcji z argumentem którym jest referencja (czyli kod maszynowy  g1(t2) jest taki jak g1(t)   )

natomiast...

referencja == wskaźnik

To wychodzi na to, że

kod maszynowy funkcji z argumentem którym jest obiekt == kod maszynowy funkcji z argumentem którym jest wskaźnik

I różnią się tylko liczby (np. -24(%rbp)) ale to chyba adresy zmiennych... ;P

Wszystko rozumiem. Dziękuję :)
P-163072
1 « 2 »
Poprzednia strona Strona 2 z 2