Traduzioni di questa pagina?:

namespace

Sintassi:

    namespace name {
        declaratoria;
    }

La keyword namespace permette di creare uno nuovo scope (ambito) per la definizione di riferimenti simbolici. Il nome è opzionale e può essere omesso per creare un namespace anonimo (unnamed). Una volta creato il namespace si deve fare riferimento esplicito ad esso per usare i simboli in esso definiti, oppure usare using per attivarne la determinazione implicita.

Esempio:

     #include <iostream>
 
     namespace CartoonNameSpace {
       int HomersAge;
       void incrementHomersAge() {
         HomersAge++;
       }
     }
     int main() {
       ...
       CartoonNameSpace::HomersAge = 39;
       CartoonNameSpace::incrementHomersAge();
       std::cout << CartoonNameSpace::HomersAge << std::endl;
       ...
     }

namespace anonimi

Un namespace senza nome viene definito come anonimo. Per un tale namespace viene automaticamente generato un nome unico per ogni translation unit e per esso non è applicabile la parola chiave using. Quindi un namespace anonimo funziona come se la parola chiave using fosse stata usata implicitamente.

    namespace {
      declaratoria;
    }

namespace alias

Si possono creare nuovi nomi per un namespace (compresi i namespace nested, cioè annidati all'interno di altri namespace).

   namespace identifier = namespace-specifier;

Related Topics: using