PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 怎麼解釋 T (&arr) [N]
作者:
noodleT
(麵T)
2016-03-08 21:34:09
如標題 板模 func( T (&arr) [N])
請問有辦法解釋電腦是
如何取得陣列大小?
或我們是傳了什麼資料進去嗎?
&、[],分別做了哪些動作?
第二個問題:
class myclass{
float m[9];
void test(){
float m2[9];
func(m);//無法編譯過
func(m2);//ok
}
}
有查到這種板模只能傳入
編譯前就決定好陣列大小的陣列,
但為什麼無法傳入成員變數?
作者:
Caesar08
(Caesar)
2016-03-08 21:49:00
第一次看到有人說板模,不都是說模板嗎?而且你第二份code沒問題啊
http://ideone.com/5p7E4R
http://ideone.com/XAlsgK
另外,T就是array的型態,()跟運算的優先順序有關N是array的size,&就是reference沒有&,當你傳array的時候,他會decay成pointer
作者:
noodleT
(麵T)
2016-03-08 22:15:00
第二個問題我的確編譯不過BCB6先不管T,arr 是指標,指標取&是?,然後又取陣列引索[n]
作者:
Caesar08
(Caesar)
2016-03-08 22:37:00
不對。你寫arr是指標,你寫&arr是矩陣你查一下甚麼是decay應該就知道了
作者:
james732
(好人超)
2016-03-09 01:32:00
板模是台語嗎?XD
作者:
noodleT
(麵T)
2016-03-09 06:44:00
板模不也挺恰當的嗎?可以灌入不同型態的變數~
作者:
bibo9901
(function(){})()
2016-03-09 15:17:00
&是reference 不是取址T (&arr)[N] 意思是 arr is a reference to an array ofN elements of type T
繼續閱讀
[問題] State Pattern隔離測試用Code
lovesnake
[問題] openCV3.0 VS2010 問題
schizophrena
[問題] Win10 對編譯檔名很敏感?
qscgy4
[問題] vs2013 include thread compile error
a2975313
[問題] #define的命名方式可否用陣列或其他方法?
boyzone66
[問題] char 和 scanf 輸入
smart5F
UVA測資輸入問題
asdfg1111
Re: [問題] 在特定條件下,deque與vector的效能比較
yoco
[問題] 讓不會寫程式的老闆看懂我的Code
iwantstronge
[問題] c語言使用組合語言呼叫函式sp數值問題
q22049202
Links
booklink
Contact Us: admin [ a t ] ucptt.com