Referencja, wskaźnik znaczenie znaku &
Ostatnio zmodyfikowano 2017-07-06 21:45
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: 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źnikI różnią się tylko liczby (np. -24(%rbp)) ale to chyba adresy zmiennych... ;P Wszystko rozumiem. Dziękuję :) |
|
1 « 2 » |