網路上文章講reference 的目的 <-講得很好
以下節錄 另一篇從網路上某個程設club 講使用時機
pointer 有可能是你 new 出一個實體, 有可能是從別的 function 取得的, 有可能是你
宣告一個 array, 然後用 pointer 去指向某一個元素.....等等, 這些你"必須用pointer"
的情況, 你就得把自己的 function 設計成可以接受 pointer 的傳遞方式.
又或許你又得把這個 pointer 傳到別人設計成只接受 pointer 的 function 裡.
要不然你就必須再宣告一個和 pointer 的 type 相同的實體, 並且把 pointer 所指向
的內容 copy 到這個實體上. 這樣你才能把你自己的 function 設計成 reference 的
傳遞方式.
另外一點就是, 傳遞 reference 是一個很不明顯的作法, 你完全看不出任何蛛絲馬跡
這個 function 是否會去修改這個參數內容. 當然這不是 reference 的問題, 但是如果
你傳遞一個 pointer 時, 你心裡就大約會去思考一下, function 是不是有可能會修改
pointer 所指的內容.
沒有留言:
張貼留言