Tracce
/
C++
C++
/
Programma
/
Namespace
Na

Namespace in C++

3 esercizi

Informazioni su Namespace

I namespace sono un metodo importante per organizzare il codice. Due funzioni potrebbero avere una collisione di nomi, che si può risolvere mettendole in namespace diversi. I namespace possono essere annidati, il che può aiutare a strutturare grandi basi di codice. L'accesso ai namespace avviene tramite l'operatore di risoluzione dello scope ::.

L'esempio seguente mostra l'uso di due diverse funzioni foo. Vengono usate insieme anteponendo i rispettivi namespace.

namespace my_ns {
    int foo() {
        return 44;
    }
    namespace my_inner_ns {
        int baz() {
            return 90;
        }
    }
}
namespace my_other_ns {
    int foo() {
        return -2;
    }
}
int myresult{my_ns::foo() + my_other_ns::foo() * my_ns::my_inner_ns::baz()};
Advanced

I namespace annidati in profondità potrebbero risultare troppo verbosi. È possibile eliminare la verbosità importando un namespace con using. Questo sposta tutti i nomi nel namespace globale. Per mantenere un po' di differenziazione, gli alias potrebbero essere utili.

int my_other_result{my_ns::my_inner_ns::baz()};

using namespace my_ns::my_inner_ns; // importing the complete namespace
int also_other_result{baz()};

namespace m = my_ns; // setting an alias
namespace o = my_other_ns;

int also_my_result{m::foo() + o::foo() * m::my_inner_ns::baz()};
Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Namespace