Namespace dalam C++
Namespace relatif baru dalam pemrograman C++. Tujuan
dari adanya namespace pada C++ sebenarnya untuk menghindari conflict penggunaan
nama class, fungsi, variable. Jadi isi dari suatu namespace bisa berupa class,
fungsi / method, dan variable.
Format dari pendeklarasian name space sebagi berikut:
namespace name_namespace{
/* entitas */
}
Entitas dapat berupa variable, method, class.
Sedangkan format menggunakan
suatu namespace sebagai berikut.
using namespace name_namespace;
Untuk mendefinisiakan function menggunakan Scope
Resolution Operator, kita bebas menaruh definisi tersebut dimana pun, seperti
tepat di bawah deklarasi class tersebut atau di bawah main function dan juga
bisa di definisikan diluar file, tapi kita tidak bisa melakukan definisi
sebelum deklarasi function.
//Function prototype
return_type nama_function(arguments);
//Definisi Function
return_type nama_class :: nama_function(){
…
}
Namespace tanpa nama lebih unggul daripada kata kunci
statis, terutama karena kata kunci static hanya berlaku untuk variabel
deklarasi dan fungsi, bukan ke yang ditentukan pengguna jenis.
Contohnya:
//legal code
namespace
{
class sample_class { /* class body */ };
struct sample_struct { /* struct body */ };
}
C++ 17 dapat menyederhanakan definisi namespace
bersarang:
namespace A::B::C {
}
Yang setara dengan
namespace A { namespace B { namespace C {
} } }
Comments
Post a Comment