全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1924
推到 Plurk!
推到 Facebook!

請教 var 與 out 的 function parameter 的差異

尚未結案
dogday
一般會員


發表:1
回覆:0
積分:0
註冊:2003-07-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-09 16:23:18 IP:202.145.xxx.xxx 未訂閱
請教 var 與 out 的 function parameter 的差異, 請問下頭這兩個 procedure 的參數 procedure abc ( var par_1: integer ); procedure def ( out par_1: integer ); 關於 var 與 out 的差異, 或者是說她們個別的使用時機會是在什麼樣的場合呢? 謝謝
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-09 16:47:28 IP:218.16.xxx.xxx 未訂閱
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 一樣存著呼叫時的起始值。
系統時間:2024-04-30 2:47:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!