C++ Extern Const Map

4 min read Jul 03, 2024
C++ Extern Const Map

Membuat Data Global dengan extern const map di C++

extern const map merupakan salah satu cara untuk mendefinisikan data global yang dapat diakses dari berbagai bagian kode di dalam program C++. Konsep ini memungkinkan kita untuk menyatukan definisi data tanpa perlu mendefinisikan ulang di setiap file yang memerlukannya.

Kegunaan extern const map

  • Kode yang lebih bersih: Dengan menyimpan data global dalam satu lokasi, kode kita menjadi lebih terstruktur dan mudah dipahami.
  • Pemisahan kode: Kita bisa mendefinisikan data global dalam file terpisah, sehingga memudahkan pengelolaan dan modifikasi kode.
  • Perubahan data yang mudah: Jika kita perlu mengubah data global, kita hanya perlu memperbarui definisi di satu tempat saja.

Cara Menggunakan extern const map

  1. Deklarasi di header file: Deklarasikan map dengan kata kunci extern const di header file yang akan digunakan oleh berbagai bagian kode.
// my_data.h
extern const std::map my_map;
  1. Definisi di file sumber: Definisikan map dengan nilai yang sebenarnya di file sumber yang akan digunakan.
// my_data.cpp
const std::map my_map = {
    {"apple", 1},
    {"banana", 2},
    {"orange", 3}
};
  1. Penggunaan di file lain: Kita dapat mengakses map yang dideklarasikan di header file dari file lain yang menyertakan header file tersebut.
// main.cpp
#include "my_data.h"

int main() {
    std::cout << my_map["apple"] << std::endl; // Output: 1
    return 0;
}

Catatan:

  • extern const menandakan bahwa map tersebut didefinisikan di tempat lain dan bersifat konstan, yang berarti nilainya tidak dapat diubah.
  • map harus didefinisikan hanya sekali di dalam program.
  • extern const map dapat digunakan dengan berbagai tipe data, tidak hanya map saja.

Contoh Penggunaan extern const map

Misalnya, kita ingin menyimpan data tentang daftar siswa dan nilai mereka. Kita dapat menggunakan extern const map untuk menyimpan data tersebut:

// student_data.h
extern const std::map student_grades;

// student_data.cpp
const std::map student_grades = {
    {"John", 90},
    {"Jane", 85},
    {"Peter", 75}
};

// main.cpp
#include "student_data.h"

int main() {
    std::cout << student_grades["John"] << std::endl; // Output: 90
    return 0;
}

Kelebihan extern const map

  • Lebih mudah diakses dan dikelola daripada data global yang tidak konstan.
  • Lebih aman, karena nilai data tidak dapat diubah secara tidak sengaja.
  • Dapat digunakan dengan berbagai tipe data, tidak hanya map saja.

Kesimpulan

extern const map merupakan cara yang efektif dan efisien untuk mendefinisikan data global yang konstan dan dapat diakses dari berbagai bagian kode dalam program C++. Dengan menggunakan konsep ini, kode kita akan lebih terstruktur, mudah dipahami, dan mudah diubah.