C++ Array Parameter Reference

3 min read Jul 05, 2024
C++ Array Parameter Reference

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:

  1. int (&arr)[5] mendeklarasikan parameter arr sebagai referensi ke array integer dengan ukuran 5.
  2. modifyArray(numbers); meneruskan array numbers ke fungsi modifyArray sebagai referensi.
  3. Di dalam fungsi modifyArray, kita dapat memanipulasi elemen array arr secara langsung, dan perubahan ini akan tercermin pada array numbers di main().

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++.