reference array讓compiler除了檢查array element型別外,還可以檢查array size,但缺點是array size必須寫死,若透過function template,則array size不必寫死,可以處理任何array size。
1
}
14行array size並沒有寫死,N是個變數,而15行也可以繼續用這個變數作counting,由於function template的typename,我們不只處理任意array size的array,還可處理任意型態的array。
C#會有這個需求嗎?不會!!因為C#的array自帶GetLength() method,可以輕鬆的得到array size,所以不需使用任何特別的技巧處理。
Conclusion
透過reference array和function template,C語言對於array和function的老問題總算得到圓滿的解答。
See Also
(原創) array可以使用reference方式傳進function嗎? (初級) (C++)
(原創) array傳進function該怎麼寫才好? (初級) (C/C++)
(原創) array傳進function該怎麼寫才好? (初級) (C#)
(原創) 如何使用boost::array? (初級) (C++) (boost)
Reference
C++ Primer 4th P.633