Condividi tramite


dichiarazione dello spazio dei nomi

In spazio dei nomi la dichiarazione identifica e assegna un nome univoco a uno spazio dei nomi utente-dichiarato.

namespace identifier

Note

Questi spazi dei nomi vengono utilizzati per risolvere il problema dei conflitti di nomi nei programmi e nelle librerie.I programmatori possono utilizzare gli spazi dei nomi per compilare i nuovi componenti software e raccolte senza provocare conflitti di denominazione con i componenti esistenti.

Di seguito è riportato un esempio:

// namespace_declaration1.cpp
namespace X
{
   int i;
   double j;
}
int main()
{
   X::i++;
}

La sintassi per la definizione di uno spazio dei nomi è:

namespace identifier
{
   [ declaration-list ]
}

In spazio dei nomi-definizione può essere annidato in un altro spazio dei nomi-definizione.ogni spazio dei nomi-definizione deve comparire in ambito file o all'interno di un altro spazio dei nomi-definizione.

Di seguito è riportato un esempio:

// namespace_declaration2.cpp
// C2870 expected
namespace A
{
   int j = 3;
   int f(int k);
}

namespace Outer
{
   int n = 6;
   int func(int num);

   namespace Inner
   {
      float f = 9.993;
   }
}

int main()
{
   namespace local   // C2870: not at global scope
   {
   }
}

A differenza di altre aree dichiarative, la definizione di uno spazio dei nomi può essere suddivisa in diverse parti di una singola unità di conversione.

// namespace_declaration3.cpp
namespace A
{
   // declare namespace A variables
   int i;
   int j;
}

namespace B
{
}

namespace A
{
   // declare namespace A functions
   void func(void);
   int int_func(int i);
}

int main()
{
}

Quando uno spazio dei nomi ha proseguito fino in questo modo, dopo la relativa definizione iniziale, la continuazione viene chiamato definizione di spazio dei nomi di estensione.La definizione originale dello spazio dei nomi è detta definizione originale dello spazio dei nomi.

L'utilizzo di questa notazione può essere complicato con nomi più lunghi o nei programmi.mediante la dichiarazione, direttiva usinge alias dello spazio dei nomi fornire più modalità molto semplice fare riferimento ai membri dello spazio dei nomi.

In spazio dei nomi la dichiarazione, se include un nuovo spazio dei nomi, uno spazio dei nomi senza nome, o una definizione completa dello spazio dei nomi, deve essere accompagnata da un governo dello spazio dei nomi racchiusi tra parentesi graffe.L'istruzione

namespace X;

è un errore di sintassi.L'istruzione

namespace X{};

non si tratta di un errore di sintassi, ma non è necessaria.

Per informazioni di base, vedere Spazi dei nomi.

L'identificatore in una definizione originale dello spazio dei nomi deve essere univoco nell'area dichiarativa in cui viene utilizzata.L'identificatore è il nome dello spazio dei nomi e viene utilizzato per fare riferimento ai membri.

L'area dichiarativa della definizione di uno spazio dei nomi è il corpo.Il corpo deve essere racchiuso tra parentesi graffe () e può contenere dichiarazioni o definizioni delle variabili, le funzioni, oggetti, i modelli e gli spazi dei nomi annidati.le dichiarazioni in dichiarazione-elenco sarebbe i membri dello spazio dei nomi.Il nome di ciascun membro dello spazio dei nomi automaticamente viene qualificato con il nome dello spazio dei nomi e operatore di risoluzione dell'ambito.

Vedere anche

Riferimenti

Spazi dei nomi (C++)

Parole chiave C++

Spazi dei nomi senza nome