請教 var 與 out 的 function parameter 的差異 |
尚未結案
|
dogday
一般會員 發表:1 回覆:0 積分:0 註冊:2003-07-09 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
Help 說 :
var 與 out 均是 Pass by Reference 的,在 function 裡修改了 param 的值就會反映在傳入這個 Param 的變數中;但 var 是連原本該變數的值一起傳入而 out 就會先消掉原本該變數的值才傳入,所以 out 的 param 一開始是空的只用來接收在 function 裡指給他的值。 不過,我自己在 Delphi 7 測試過 integer / record (TRect) / Object (TFont) 發覺 Out parameter 均沒有消掉原先的值,所以 out parameters 還是有著呼叫 function 時變數的值,與 var 一模一檥。 Help 中也說 分散物件 Model 如 COM 和 CORBA out 很常用但這方便我便沒測試了。 所以慨念上,Out Param 應是只用來存放在 function 裡指給它的 output 而不應假設他本身有任何值,雖然在Delphi 7實作時他是和 var 一樣存著呼叫時的起始值。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |