0 asked in 電腦與網際網路軟體 · 1 decade ago

計算機概論的問題 高手請進

請問一下

pass parameters by value 與pass parameters by reference分別是什麼意思?

它們各有什麼優缺點啊?

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    你所問的問題是針對程式語言中函式處理參數(引數)所採用的方式

    pass parameters by value叫做傳值參照,有人也會稱為pass by value,這是表示你有某個變數要當作參數(引數)交給函式時,他會把值複製一份交給函式進行處理

    Pass parameters by reference叫做傳址參照,簡稱pass by reference,這是某個變數要當作函式的參數(引數)時,實際上是把變數的記憶體位址交給參數,當參數需要動用或修改這個值,他會到該變數的記憶體位址上把值進行修改,換句話說,就是直接修改變數值

    當作參數的變數,值會不會被修改,是兩者最大的差異,實際上沒有優缺點之分,要怎麼設計?何時該用哪一種?是由程式設計人員來決定的,如果真的要討論優缺點,我認為Pass by value會比較佔用記憶體,因為必須先複製一份給函式處理,而pass by reference則是直接處理變數所在位置的值,不過這個還是得看程式設計人員怎麼寫才知道..

    希望這樣的回答可以讓你滿意

    Source(s): 自己
Still have questions? Get your answers by asking now.