Memahami Fungsi Templat "Saiz Array"
Dalam pengaturcaraan, selalunya perlu mengambil panjang tatasusunan untuk melaksanakan pelbagai operasi . Fungsi templat GetArrLength bertujuan untuk menyelesaikan tugas ini menggunakan pendekatan yang ringkas dan cekap.
Definisi fungsi adalah seperti berikut:
template<typename T, int size> int GetArrLength(T(&)[size]) { return size; }
Cara Ia Berfungsi
Untuk memahami tingkah laku fungsi, mari kita pecahkan fungsinya struktur:
Jenis Parameter: T(&&)[saiz]
Parameter Templat: T, saiz
Nilai Pulangan: int
Contoh Penggunaan
Pertimbangkan coretan kod berikut:
int a[10]; int arraySize = GetArrLength(a);
Dalam senario ini:
Isu Ungkapan Malar
Seperti yang dicadangkan oleh soalan asal, nilai pulangan GetArrLength bukanlah ungkapan tetap. Dalam C , ungkapan malar mesti menilai kepada nilai yang diketahui pada masa penyusunan. Untuk panjang tatasusunan, ini sentiasa benar kerana tatasusunan diperuntukkan secara statik. Walau bagaimanapun, fungsi asal tidak menyediakan cara untuk mengembalikan maklumat ini sebagai pemalar.
Untuk menangani isu ini, penyelesaian yang lebih lanjut diperlukan, seperti yang disediakan dalam bahagian jawapan soalan. Penyelesaian ini memastikan bahawa fungsi mengembalikan nilai malar untuk panjang tatasusunan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Panjang Tatasusunan C Menggunakan Fungsi Templat dan Memastikan Hasil Ungkapan Malar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!