C 中引用傳遞陣列
問題:
問題:數字在C 中?如果是這樣,正確的語法是什麼?
void foo(double (&bar)[10])
是的,在 C 中數組只能透過引用傳遞。正確的語法是:
template<typename T, size_t N> void foo(T (&bar)[N])
其中 bar 是陣列引用,10 是陣列的大小。
但是,此語法會阻止傳遞任意大小的陣列。要傳遞任意大小的數組,可以使用模板化函數:
其中 N 在編譯時捕獲數組大小。 替代方案:考慮使用 std::vector 或 std::array (在 C 11 中)作為透過引用傳遞數組的替代方法。這些提供了一種更靈活、更安全的方式來處理資料集合。以上是C 中如何透過引用傳遞數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!