首頁  >  文章  >  後端開發  >  如何處理函數中可變大小的 std::arrays:一種簡單的方法?

如何處理函數中可變大小的 std::arrays:一種簡單的方法?

Barbara Streisand
Barbara Streisand原創
2024-10-24 13:05:02860瀏覽

How to Handle std::arrays of Variable Size in Functions: A Straightforward Approach?

將未知大小的std::array 傳遞給函數

問題:

如何

問題:

如何

問題:
<code class="cpp">// hypothetical example
void mulArray(std::array<int, ?>& arr, const int multiplier) {
    for(auto& e : arr) {
        e *= multiplier;
    }
}</code>
<code class="cpp">// imaginary arrays with values
std::array<int, 17> arr1;
std::array<int, 6> arr2;
std::array<int, 95> arr3;

mulArray(arr1, 3);
mulArray(arr2, 5);
mulArray(arr3, 2);</code>

如何問題:

如何

問題:

如何

問題:

如何

問題:

如何

問題:
<code class="cpp">template<std::size_t SIZE>
void mulArray(std::array<int, SIZE>& arr, const int multiplier) {
    for(auto& e : arr) {
        e *= multiplier;
    }
}</code>

如何問建立一個對已知類型但大小可變的std::array 進行操作的函數?

範例:問題:是否有一種類似C 樣式方法可以實現此功能? 答:不幸的是,沒有。 傳遞未知大小的 std::arrays 需要使用函式模板或 std::vectors 等替代容器。 模板解決方案:實例: https://godbolt.org/z/T1d1n3vrM

以上是如何處理函數中可變大小的 std::arrays:一種簡單的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn