logo

vardų sritis C ++ | 2 rinkinys (vardų srities išplėtimas ir bevardžių vardų sritis)

Žemiau pateiktame 1 rinkinyje mes pristatėme vardų sritis.
Vardų sritis C ++ | 1 rinkinys (įvadas)



java masyvas į sąrašą

vardų sritis vardų sritis_name 
{



}

Reikia pažymėti, kad po uždarymo petnešos nėra kabliataškio (;).
Norėdami paskambinti į vardų srities funkciją, arba kintamąjį, iš anksto iš anksto pavadinti vardų vardą taip:
vardųpace_name :: kodas;  // kodas gali būti kintama funkcija arba klasė.

Naudojama direktyva:

Taip pat galite vengti vardų erdvių rengimo naudodamiesi vardų srities direktyva. Ši direktyva sako kompiliatoriui, kad vėlesnis kodas naudoja vardus nurodytoje vardų srityje. 
Taigi vardų sritis yra numanoma šiam kodui:

C++
#include    using namespace std; // first name space namespace first_space {  void func()  {  cout << 'Inside first_space' << endl;  } } // second name space namespace second_space {  void func()  {  cout << 'Inside second_space' << endl;  } } using namespace first_space; int main () {  // This calls function from first name space.  func();  return 0; } 

Pavadinimai, įvesti naudojant direktyvoje, klostosi normalios apimties taisyklės. Pavadinimas matomas nuo naudojimo direktyvo taško iki apimties, kurioje randama direktyva, pabaigą. Slėpimo subjektai su tuo pačiu pavadinimu, apibrėžta išorine apimtimi, yra paslėpti.

Įdėtos vardų erdvės:

spyruoklinis karkasas
SYNTAX: namespace namespace_name1 { // code declarations namespace namespace_name2 { // code declarations } }

Naudodamiesi rezoliucijos operatoriais galite pasiekti įterptų vardų srities narius taip:
// Norėdami pasiekti „Namespace_name2“ narius
NAMESpace Namespace_name1 :: vardųpace_name2;
// Norėdami patekti į vardų srities narius: vardas1
vardų srities vardų sritis_name1 naudojimas;


Aukščiau pateiktuose teiginiuose, jei naudojate vardųpace_name1

C++
#include    using namespace std; // first name space namespace first_space {  void func()  {  cout << 'Inside first_space' << endl;  }  // second name space  namespace second_space  {  void func()  {  cout << 'Inside second_space' << endl;  }  } } using namespace first_space::second_space; int main () {  // This calls function from second name space.  func();    return 0; } 


Taip pat galima sukurti daugiau nei vieną vardų erdvę pasaulinėje erdvėje. Tai galima padaryti dviem būdais. 
 

    vardų sritys, turinčios skirtingus vardus 
     
CPP
// A C++ program to show more than one namespaces  // with different names. #include    using namespace std; // first name space namespace first {  int func() { return 5; } } // second name space namespace second {  int func() { return 10; } } int main() {  // member function of namespace  // accessed using scope resolution operator  cout &lt;&lt; first::func() &lt;&lt;&quot;n&quot;;   cout &lt;&lt; second::func() &lt;&lt;&quot;n&quot;;   return 0; } 

  • Išvestis: 
     
5 10
    Vardų sričių išplėtimas (du kartus naudojant tą patį pavadinimą) 
    It is also possible to create two namespace blocks having the same name. The second namespace block is nothing but actually the continuation of the first namespace. Paprastesniais žodžiais galime pasakyti, kad abi vardų erdvės nesiskiria, bet iš tikrųjų tas pats, kurie yra apibrėžti dalyse. 
     
CPP
// C++ program to demonstrate namespace extension #include    using namespace std; // first name space namespace first  {   int val1 = 500;  } // rest part of the first namespace namespace first  {   int val2 = 501;  } int main() {  cout &lt;&lt; first::val1 &lt;&lt;&quot;n&quot;;   cout &lt;&lt; first::val2 &lt;&lt;&quot;n&quot;;   return 0; } 

  • Išvestis: 
     
500 501


 
 


 

oops sąvokos java
CPP
// C++ program to demonstrate working of unnamed  // namespaces #include    using namespace std; // unnamed namespace declaration namespace  {  int rel = 300;  } int main() {  cout &lt;&lt; rel &lt;&lt; &quot;n&quot;; // prints 300  return 0; } 

Išvestis: 
 

300