Nimitila C ++: ssa | Aseta 2 (nimeä ja nimeämätön nimitila)
Olemme ottaneet käyttöön alla olevassa nimespaikat.
Nimitila C ++: ssa | Sarja 1 (johdanto)
Nimitilan määritteleminen:
Nimitilan määritelmä alkaa avainsanan nimitilasta, jota seuraa nimitilan nimi seuraavasti:
nimitilan nimitila_nimi
{
// koodilannat, ts. Muuttuja (int a;)
menetelmä (tyhjä add ();)
luokat (luokan opiskelija {};)
}
On huomattava, että sulkeutumisen jälkeen ei ole puolipistettä (;).
Joko toiminnon tai muuttujan nimitilaa koskevalle versiolle tai muuttuvalle nimitilan nimille seuraavasti:
Namespace_Name:: koodi; // koodi voi olla muuttuva toiminto tai luokka.
Käyttäjädirektii:
Voit myös välttää nimitilojen valmistelusta käyttämällä nimitila -direktiiviä. Tämä direktiivi kertoo kääntäjälle, että seuraava koodi käyttää nimiä määritettyyn nimitilaan.
Nimitila on siten viitata seuraavaan koodiin:
#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 ; }
Käytetyssä direktiivin nimeä noudattavat normaalia laajuussääntöä. Nimi on näkyvissä direktiivin käytöstä sen laajuuden loppuun, josta direktiivi löytyy. Yksiköt, joiden sama nimi on määritelty ulommassa laajuudessa, on piilotettu.
Sisäkkäiset nimitilat:
Nimitilat voidaan sisustaa, missä voit määritellä yhden nimitilan toisen nimitilan sisällä seuraavasti:
SYNTAX: namespace namespace_name1 { // code declarations namespace namespace_name2 { // code declarations } } Voit käyttää sisäkkäisen nimitilan jäseniä käyttämällä resoluutio -operaattoreita seuraavasti:
// Namespace_name2: n jäsenten käyttäminen
käyttämällä nimitilan nimipace_name1 :: nimitila_nimi2;
// Nimitilan jäsenten käyttäminen: Nimi1
Nimitilan nimipace_name1 käyttäminen;
Yllä olevissa lauseissa, jos käytät nimitilaa_nimi1, se tekee Namespace_Name2: n elementeistä saatavana soveltamisalassa seuraavasti:
#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 ; }
On myös mahdollista luoda useampi kuin yksi nimitilot globaaliin tilaan. Tämä voidaan tehdä kahdella tavalla.
-
Lähtö:
-
Lähtö:
- Ne ovat suoraan käyttökelpoisia samassa ohjelmassa ja niitä käytetään yksilöllisten tunnisteiden julistamiseen.
- Nimetön nimitilan nimi, jota ei mainita nimitilan ilmoituksessa.
- Kääntäjä luo ainutlaatuisesti nimitilan nimen.
- Nimeämättömät nimet, jotka olet luonut luomasi tiedostot, ovat vain luomasi tiedostossa.
- Nimetön nimitilat korvaavat muuttujien staattisen ilmoituksen.
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 ; }
5 10
On myös mahdollista luoda kaksi nimitilaa, joilla on sama nimi. Toinen nimitila -lohko ei ole vain etunimitilan jatkaminen. Yksinkertaisemmissa sanoissa voimme sanoa, että molemmat nimitilat eivät ole erilaisia, vaan tosiasiallisesti samat, jotka on määritelty osissa.
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 ; }
500 501
Nimeämätön nimitilat
// 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 ; }
Lähtö:
300
Saatat Pitää
Top Artikkelit
Luokka
Mielenkiintoisia Artikkeleita