※ 引述《FlyinDeath (死之舞)》之銘言:
: ※ 引述《meltice.bbs@bbs.wretch.cc (三億兩千萬大散戶)》之銘言:
: : 我到覺得以C++來說
: : foo(int *) , by address
: : 跟
: : foo(int &) , by reference
: : 比較相近耶
: : 之前有trace過組語
: : 印象中底層實做是一樣的
: : 都是push"位址"到參數堆疊上
: 之前看過一篇文章
: 內容大意是說reference其實就是經過compiler包裝過的pointer....
: 所以我一直都沒辦法理解,pass by adress跟pass by reference到底有什麼不同...
如果你學過低階語言,那大概就很容易懂了
簡單講,這兩種東西翻譯成組合語言以後,看起來會差不多
reference就是不管在哪裡都能「參考」到原來的東西
那請問怎麼知道原來的東西在哪裡?當然是靠指標囉
指標,存的就是記憶體位址
也就是說,實際上存起來的是那個東西的address
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.157.92.25