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.

 Bentuk umum penulisan

//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 {

} } }


Sumber-sumber:

Comments

Popular posts from this blog

MEDIA PENYIMPANAN DATA

Memori Semikonduktor, Jenis-jenis Memori Semikonduktor dan Metode Pengalamatan Memori