作者tsaiminghan (nahgnimiast)
看板C_and_CPP
標題[問題] 傳參考
時間Tue Feb 17 21:23:01 2009
請問陣列可以傳參考嗎?
以前寫C的時候,只能傳指標,無法知道陣列大小,必須
多傳一個參數,不知道如果可以傳參考的話,要怎麼寫
傳過來的參考可不可以用sizeof的方式去抓維度。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.97.135
1F:→ zlw:多傳個陣列大小沒這麼累吧,不然改用vector... 02/17 21:36
2F:→ zlw:理論上,傳陣列就像是傳個記憶體位址,CPU不可能自己判定大小 02/17 21:37
3F:→ tsaiminghan:所以是可以傳陣列參考還是不行啊? 02/17 21:43
4F:推 TroyLee:自己試試看就知道啦.. 02/17 21:44
5F:→ tsaiminghan:我是試,但是不給過,不知道是我寫錯還是本來就不能用 02/17 21:46
6F:→ tsaiminghan: 了 02/17 21:46
7F:→ tsaiminghan:所以上來問問 02/17 21:47
9F:→ tsaiminghan:謝謝原原來要註明此參考的大小 02/17 22:50
10F:推 yshihyu:在C/C++ 中陣列是傳陣列位址~整個陣列傳效率會差 02/18 06:15
11F:推 yshihyu:經過函數傳遞陣列就一定會轉型成指標形式給位址 02/18 06:17
12F:→ yshihyu:就多傳一個參數用 sizeof 經過函數參數一定只有4byte 02/18 06:17
13F:推 Fenikso:template<int N> void foo(int (&a)[N]); 02/18 10:12