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

函式標頭問題

答題得分者是:turboted
Ming Lin
一般會員


發表:27
回覆:53
積分:21
註冊:2003-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-02 12:22:45 IP:61.222.xxx.xxx 未訂閱
請問一下 我想從主程式傳字串給函式 有兩個方法 void xx(AnsiString yy) void xx(char *yy) 請問哪個方法比較好 又是為什麼呢?? 謝謝~~
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-02 12:29:47 IP:210.241.xxx.xxx 未訂閱
就我很膚淺的認知 傳指標的速度比較快 而且可以直接修改原變數 而傳字串的方式,他還會再copy一份在memory裏面 而且,改過的變數還要再return寫入
brant
一般會員


發表:1
回覆:64
積分:23
註冊:2003-04-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-02 12:33:33 IP:61.219.xxx.xxx 未訂閱
引言: 請問一下 我想從主程式傳字串給函式 有兩個方法 void xx(AnsiString yy) void xx(char *yy) 請問哪個方法比較好 又是為什麼呢?? 謝謝~~ < face="Verdana, Arial, Helvetica"> 傳 reference 比較好 void xx(AnsiString &yy) 傳 AnsiString 會新建一個物件並呼叫 copy constructor 成本大,但物件使用上比較方便 傳 char *只是傳一個指標,但過於低階 操作上會不方便 傳參考的成本跟傳指標一樣 且保留物件的方便性 又不會有用*取值的困擾
BGman
初階會員


發表:28
回覆:85
積分:42
註冊:2003-01-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-02 13:50:47 IP:211.22.xxx.xxx 未訂閱
對不起,插個花問一下:請問 turboted 桑 brant 桑: 常常看到 VC 的程式有一種寫法,回傳值是物件的參考值。例如: Object1& fun1(int x, Object2 &Ob2); 1.請問,回傳物件的參考值,優點在哪裡? 2.為何在BCB 幾乎沒有看到,是不是因為 BCB 的底層是 Delphi 的緣故?
brant
一般會員


發表:1
回覆:64
積分:23
註冊:2003-04-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-02 14:18:02 IP:61.219.xxx.xxx 未訂閱
引言: 對不起,插個花問一下:請問 turboted 桑 brant 桑: 常常看到 VC 的程式有一種寫法,回傳值是物件的參考值。例如: Object1& fun1(int x, Object2 &Ob2); 1.請問,回傳物件的參考值,優點在哪裡? 2.為何在BCB 幾乎沒有看到,是不是因為 BCB 的底層是 Delphi 的緣故?
1:傳回參考,可以對物件做連續的處理 舉個例來說:
class test {
    test& add(int a);
    test& mul(int a);
};    之後可以這樣用:
test a;
a.add(5).mul(7);
2:可能只是比較少人這樣用 畢竟BCB表層也是C ,這樣也是合法的語法 發表人 - brant 於 2003/06/02 14:19:11
BGman
初階會員


發表:28
回覆:85
積分:42
註冊:2003-01-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-02 14:40:19 IP:211.22.xxx.xxx 未訂閱
感謝 brant 桑的解答,您真是博學多聞!
Ming Lin
一般會員


發表:27
回覆:53
積分:21
註冊:2003-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-02 15:09:04 IP:61.222.xxx.xxx 未訂閱
謝謝各位ㄉ解答 感恩
系統時間:2024-05-18 4:15:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!