瀏覽單個文章
stanleywang
Amateur Member
 

加入日期: Oct 2017
文章: 38
看解釋應該是說,副程式在執行時不會更新該參數的值,而是在最後執行完的時候才更新,
比較 call by address 則是在副程式在執行過程中就會更動參數的值。

簡單的說 call by address 下該參數被賦值幾次,該參數的值就會變動幾次。
而call by result無論該參數被賦值幾次,都只會在return 時變動1次。

這個如果在single-thread,兩者是沒有分別的,
但要是在multi-thread 下,call by address 就有可能出現別的thread 讀到該參數過渡時期的值,而不是最後的結果。
舊 2018-06-07, 09:05 AM #5
回應時引用此文章
stanleywang離線中