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