C++ Array Parameter Reference
Dalam C++, array dapat diteruskan ke fungsi sebagai parameter. Namun, perlu diingat bahwa array sebenarnya diteruskan sebagai pointer ke elemen pertama array. Hal ini dapat menyebabkan masalah, seperti perubahan pada array di dalam fungsi tidak akan memengaruhi array asli.
Untuk mengatasi hal ini, kita dapat menggunakan referensi untuk meneruskan array ke fungsi. Referensi memungkinkan kita untuk memanipulasi array asli di dalam fungsi tanpa perlu menyalin seluruh data.
Cara Menggunakan Referensi Array
Berikut adalah contoh cara meneruskan array ke fungsi menggunakan referensi:
#include
void modifyArray(int (&arr)[5]) {
for (int i = 0; i < 5; i++) {
arr[i] *= 2;
}
}
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
std::cout << "Array sebelum modifikasi: ";
for (int i = 0; i < 5; i++) {
std::cout << numbers[i] << " ";
}
std::cout << std::endl;
modifyArray(numbers);
std::cout << "Array setelah modifikasi: ";
for (int i = 0; i < 5; i++) {
std::cout << numbers[i] << " ";
}
std::cout << std::endl;
return 0;
}
Penjelasan:
int (&arr)[5]
mendeklarasikan parameterarr
sebagai referensi ke array integer dengan ukuran 5.modifyArray(numbers);
meneruskan arraynumbers
ke fungsimodifyArray
sebagai referensi.- Di dalam fungsi
modifyArray
, kita dapat memanipulasi elemen arrayarr
secara langsung, dan perubahan ini akan tercermin pada arraynumbers
dimain()
.
Keuntungan Menggunakan Referensi Array
- Efisiensi: Referensi memungkinkan kita untuk memanipulasi array asli tanpa perlu membuat salinan, sehingga meningkatkan efisiensi memori dan waktu komputasi.
- Modifikasi langsung: Perubahan pada array di dalam fungsi akan langsung tercermin pada array asli.
- Kemudahan penggunaan: Referensi memberikan cara yang sederhana dan mudah untuk memanipulasi array di dalam fungsi.
Keterbatasan Referensi Array
- Ukuran array tetap: Referensi array hanya dapat digunakan untuk array dengan ukuran yang tetap, tidak dapat digunakan untuk array dengan ukuran dinamis.
- Tidak dapat digunakan untuk meneruskan array ke fungsi templat: Referensi array tidak dapat digunakan sebagai parameter templat.
Kesimpulan
Referensi array adalah cara yang efektif untuk memanipulasi array di dalam fungsi tanpa perlu membuat salinan data. Dengan menggunakan referensi, kita dapat meningkatkan efisiensi dan kemudahan dalam bekerja dengan array di C++.