Penjelasan Namespace
Namespace (Dalam Indonesia: Ruang Nama) adalah ruang lingkup dengan nama digunakan untuk pengelompokan entitas seperti Class, Variable, Object dan Function.
Untuk mendirikan sebuah Namespace dibutuhkan sebuah kata kunci namespace
dan dilanjutkan dengan identitas dari Namespace tesebut, untuk pengelompokan entitas, diletakan di dalam sepasang tanda kurung kurawal { }
setelah nama dari Namespace.
Bentuk penulisan:
namespace identitas{ //daftar entitas }
Dengan menggunakan namespace dapat memisahkan beberapa entitas dari Global Scope dan mengelompokanya dalam suatu nama, hal ini dapat meminimalisir adanya benturan antar identitas dengan cara melakukan pengelompokan.
karena suatu entitas akan dimasukan dalam kelompok, maka jika ingin memanggil atau menggunakan suatu entitas harus melalui nama dari Namespace tersebut dengan cara menggunakan Scope Operator ::
. Di bawah adalah contoh deklarasi dan pemanggilan entitas di dalam Namespace:
Contoh penulisan:
namespace kodeku{ //contoh deklarasi namespace string nama="hallo semua"; } kodeku::pesan; //contoh pemanggilan
Contoh program:
#include <iostream> using namespace std; //namespace std diperkenalkan di global scope namespace sistemSekolah{ //namespace sistemSekolah didirikan string nama = "Sekolah Belajar C++"; //anggota variabel dari namespace } int main() cout<<"dari : "<<sistemSekolah::nama<<endl; //mengakses anggota variabel "nama" //dari namespace //sistem sekolah menggunakan scope operator return 0; }
Penggunaan kata kunci using
using
adalah sebuah kata kunci yang digunakan untuk memperkenalkan suatu Namespace kepada suatu ruang lingkup, dengan ini kita tidak diwajibkan lagi untuk menyertakan nama dari Namespace dan Scope Operator ::
setiap kali mencoba untuk mengakses entitas dari Namespace tersebut.
Contoh penulisan:
using namespace std; using namespace sistemSekolah;
Contoh program:
#include <iostream> using namespace std; //namespace std diperkenalkan di global scope namespace sistemSekolah{ //namespace sistemSekolah didirikan string nama = "Sekolah Belajar C++"; string pesan(){ return "hallo semua"; } } int main() { { using namespace sistemSekolah; //namespace sistem sekolah //diperkenalkan //di ruang lingkup lokal cout<<pesan()<<endl; //penggunaan nama dari namespace //tidak diperlukan lg } cout<<"dari : "<<sistemSekolah::nama<<endl; //penggunaan nama dari namespace diperlukan //cout dan endl masuk ke dalam namespace //std, //dan karena telah diperkenalkan di //ruang lingkup global maka tidak //diperlukan //penyebutan nama dari namespace setiap //penggunaannya return 0; }
Membuat Alias Namespace
Bahasa pemrograman C++ dimungkinkan untuk membuat alias pada suatu Namespace, dengan hanya menggunakan Assignment operator.
Contoh penulisan:
namespace nama_baru = nama_yg_ada;
Nested Namespace
Namespace juga dimungkinkan untuk melakukan nested atau mendeklarasikan Namespace di dalam Namespace lainnya. Dengan ini, pemanggilan suatu entitas akan dilakukan secara bertingkat menggunakan Scope Operator ::
.
Bentuk Pemanggilan:
namespace_lvl_1::namespace_lvl_2::entitas
It’s enormous that you are getting thoughts from this post as well as
from our discussion made at this place.