Spazi dei nomi C ++

Spazi dei nomi C ++
Lo spazio dei nomi è un contenitore per gli identificatori. In C ++, se vogliamo richiedere una dichiarazione come alcune variabili, funzioni e classi nel nostro programma, lo inseriamo in un gruppo. Questo gruppo si chiama spazio dei nomi. Quindi, lo spazio dei nomi è un gruppo di dichiarazioni.

Caratteristiche identiche dello spazio dei nomi

UN. Lo spazio dei nomi è generalmente una parola chiave e utilizziamo lo spazio dei nomi con qualsiasi nome univoco nel nostro programma.

B. Usiamo lo spazio dei nomi nel nostro file di origine. Lo spazio dei nomi può anche essere utilizzato nel file di intestazione definito dall'utente. Significa che creiamo un file di intestazione e all'interno del file di intestazione, possiamo usare lo spazio dei nomi.

C. Lo spazio dei nomi mette il nome del suo membro in uno spazio distinto, in modo che non siano in conflitto con i nomi in altri spazi nomi o spazi dei nomi globali.

Creazione di uno spazio dei nomi nel programma C ++

Spazio dei nomi myexample
// dichiarazioni

UN. A differenza della definizione della classe, la definizione dello spazio dei nomi non termina con un punto e virgola.

B. Lo spazio dei nomi deve essere dichiarato a Global Scope o nidificato all'interno di un altro spazio dei nomi (1).

C. Lo spazio dei nomi ha un'altra caratteristica importante. Possiamo usare un nome alias per il nostro nome dello spazio dei nomi. Può essere usato come:

spazio dei nomi me = myexample;

Ecco, io è il nome alias dello spazio dei nomi myexample. Se lo dichiariamo una volta, allora possiamo usare questo spazio dei nomi MyExample come me durante il programma.

Spazi dei nomi senza nome

Uno spazio dei nomi che non ha alcun nome può essere consentito anche nel programma C ++.

Spazio dei nomi

// dichiarazioni

Esempio di programmazione 1:

#includere
Utilizzo dello spazio dei nomi std; // usando lo spazio dei nomi;
spazio dei nomi myexample
int x;
int fun1 ();
Esempio di classe

pubblico:
void fun2 ();
;

int myexample :: fun1 ()

cout<<“ Hello fun1 :\n ” ;

void myexample :: Esempio :: fun2 () /* :: La risoluzione /operatore di portata viene utilizzata qui.*/

cout<<“ Hello fun2 :\n ” ;

Utilizzo dello spazio dei nomi myexample; // lo spazio dei nomi è usato qui.
int main ()

x = 6;
fun1 ();
Esempio OB; // crea un'istanza di classe di esempio
ob.fun2 ();

Produzione:

Spiegazione:

Qui, abbiamo dichiarato che uno spazio dei nomi si chiama myexample. All'interno dello spazio dei nomi, abbiamo dichiarato una variabile "e una funzione fun1 (). Un esempio di classe viene anche dichiarato all'interno dello spazio dei nomi. Un'altra funzione chiamata fun2 () è dichiarata nell'esempio della classe.

Se assegniamo alcuni valori nella variabile 'x' nella nostra funzione principale, dobbiamo scrivere

Myexample :: x = 6;

Perché la variabile x non è dichiarata all'interno della funzione principale. È il membro dello spazio dei nomi myexample. Quindi, dobbiamo scrivere:

Spazio dei nomi :: x;

:: è chiamato Operatore di risoluzione dell'ambito. Dobbiamo scrivere uno spazio dei nomi :: x = 6 all'interno della funzione principale per accedere alla variabile x.

Se vogliamo chiamare la funzione fun1 (), dobbiamo definirla. Dobbiamo scrivere:

int myexample :: fun1 ()

fun1 () è il membro dello spazio dei nomi MyExample, dobbiamo definirlo. Dobbiamo definire Fun1 () con il suo spazio dei nomi e l'operatore di risoluzione dell'ambito (: :).

Se vogliamo chiamare il Fun2 () all'interno dell'esempio di classe, dobbiamo scrivere:

void myexample :: Esempio :: fun2 ();

Poiché la funzione fun2 () è il membro dello spazio dei nomi myexample e all'interno dell'esempio di classe dobbiamo scrivere questo:

Utilizzo dello spazio dei nomi std;

All'interno di Fun1 () usiamo l'istruzione Cout. È un oggetto predefinito, quindi la sua dichiarazione esiste all'interno di uno spazio dei nomi chiamato std. Questo spazio dei nomi è già definito all'interno di un file denominato iostream. Dobbiamo includere questo file all'interno del nostro programma.

Esempio di programmazione 2:

#includere
Utilizzo dello spazio dei nomi std;
spazio dei nomi myexample

int x;
void fun1 ();
Esempio di classe

pubblico:
vuoto Esempio ()

Cout<<“ example is a function :\n ” ;

;

Utilizzo dello spazio dei nomi myexample;
void myexample :: fun1 ()

cout<<“ in fun1 ” ;

int main ()

x = 6;
Esempio OB;
ob.esempio() ;
fun1 ();

Produzione:

Spiegazione:

Una definizione dello spazio dei nomi può essere continuata ed estesa su più file (1).

File1.H
Space names MyExample int x, y;
void fun1 ();

file2.H
Space names MyExample int u, v;
void fun2 ();

Supponiamo di avere due file di intestazione chiamati file1.H e file2.H . In file1.h, usiamo uno spazio dei nomi chiamato myexample. All'interno del myexample ci sono due variabili xey e una funzione chiamata fun1 () è dichiarata.

In file2.h, usiamo un altro spazio dei nomi con lo stesso nome chiamato myexample. All'interno del myexample ci sono due variabili xey e una funzione chiamata fun2 () è dichiarata.

Se includiamo questi due file nel nostro programma, potremmo avere un'idea sbagliata che esistono due diversi spazio dei nomi. Può verificarsi il conflitto del nome. In realtà, nel programma esiste solo uno spazio dei nomi. All'interno di questo stesso spazio dei nomi, tutte le variabili x, y, u, v e fun1 (), fun2 () sono aggiunte. Due diversi spazio dei nomi non possono esistere qui.

Conclusione:

Discutendo in dettaglio sullo spazio dei nomi, siamo giunti a questa conclusione che lo spazio dei nomi ci fornisce una caratteristica unica nel nostro programma C ++ che si trova su come organizzare i nostri elementi di dichiarazione come variabili, funzioni, classi in modo sistematico.

Fonte:

(1) StudyTonight.com. N.P., ragnatela. 12 aprile. 2022. https: // www.StudyTonight.com/cpp/namespace-in-cpp.PHP