C++ Convert C Style Array To Std Array

4 min read Jul 01, 2024
C++ Convert C Style Array To Std Array

Mengonversi C-Style Array ke std::array di C++

C++ menyediakan kelas templat std::array yang menawarkan sejumlah keunggulan dibandingkan array C-style tradisional. std::array adalah wadah yang memiliki ukuran tetap dan menawarkan metode yang lebih aman dan efisien untuk mengelola data.

Berikut adalah beberapa cara untuk mengonversi array C-style ke std::array di C++:

1. Menggunakan Inisialisasi List

Anda dapat menginisialisasi std::array langsung dari inisialisasi list array C-style:

#include 

int main() {
  int c_array[] = {1, 2, 3, 4, 5};
  std::array std_array = {c_array[0], c_array[1], c_array[2], c_array[3], c_array[4]};

  // Menampilkan isi std_array
  for (int i = 0; i < std_array.size(); ++i) {
    std::cout << std_array[i] << " ";
  }
  std::cout << std::endl;

  return 0;
}

Kode ini pertama-tama mendeklarasikan array C-style c_array dengan nilai-nilai yang diberikan. Kemudian, std::array std_array diinisialisasi dengan nilai-nilai dari c_array.

2. Menggunakan Algoritma std::copy

Anda dapat menggunakan algoritma std::copy untuk menyalin elemen dari array C-style ke std::array:

#include 
#include 

int main() {
  int c_array[] = {1, 2, 3, 4, 5};
  std::array std_array;

  // Menyalin elemen dari c_array ke std_array
  std::copy(std::begin(c_array), std::end(c_array), std_array.begin());

  // Menampilkan isi std_array
  for (int i = 0; i < std_array.size(); ++i) {
    std::cout << std_array[i] << " ";
  }
  std::cout << std::endl;

  return 0;
}

Kode ini menggunakan std::begin dan std::end untuk mendapatkan iterator ke awal dan akhir array C-style. Kemudian, std::copy digunakan untuk menyalin elemen-elemen dari c_array ke std_array.

3. Menggunakan Iterasi Manual

Anda juga dapat secara manual mengulangi elemen-elemen array C-style dan menyalinnya ke std::array:

#include 

int main() {
  int c_array[] = {1, 2, 3, 4, 5};
  std::array std_array;

  // Mengulangi dan menyalin elemen-elemen
  for (int i = 0; i < 5; ++i) {
    std_array[i] = c_array[i];
  }

  // Menampilkan isi std_array
  for (int i = 0; i < std_array.size(); ++i) {
    std::cout << std_array[i] << " ";
  }
  std::cout << std::endl;

  return 0;
}

Kode ini menggunakan loop for untuk mengulangi setiap elemen dalam c_array dan menyalinnya ke std_array.

Catatan: Pastikan bahwa ukuran array C-style dan std::array sama. Jika tidak, Anda mungkin mengalami masalah seperti keluar dari batas array.

Latest Posts


Featured Posts