Rumah > pembangunan bahagian belakang > C++ > Bagaimana Mengendalikan std::arrays of Variable Size in Functions: A straightforward approach?

Bagaimana Mengendalikan std::arrays of Variable Size in Functions: A straightforward approach?

Barbara Streisand
Lepaskan: 2024-10-24 13:05:02
asal
995 orang telah melayarinya

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

Melalui std::array Saiz Tidak Diketahui kepada Fungsi

Masalah:

Bagaimana untuk mencipta fungsi yang beroperasi pada std::array jenis yang diketahui tetapi saiz berubah?

Contoh:

<code class="cpp">// hypothetical example
void mulArray(std::array<int, ?>& arr, const int multiplier) {
    for(auto& e : arr) {
        e *= multiplier;
    }
}</code>
Salin selepas log masuk
<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>
Salin selepas log masuk

Soalan :

Adakah terdapat pendekatan mudah untuk membuat ini berfungsi, serupa dengan tatasusunan gaya C?

Jawapan:

Malangnya, tidak. Melepasi std::arrays saiz yang tidak diketahui memerlukan menggunakan templat fungsi atau bekas alternatif seperti std::vectors.

Penyelesaian Templat:

<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>
Salin selepas log masuk

Contoh Langsung: https://godbolt.org/z/T1d1n3vrM

Atas ialah kandungan terperinci Bagaimana Mengendalikan std::arrays of Variable Size in Functions: A straightforward approach?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan