C++ Namespaces
Zugriff auf Elemente eines Namensbereiches
- 1.
- explizite Zugriffsqualifizierung, Beispiel:
G::INNER_G::z = 10.01;
- 2.
- using-Deklaration: fügt den deklarierten Namen in den
lokalen Namensbereich ein; Beispiele:
using G::INNER_G::z;
using A::a;
z = 10.01;
a = 111;
- 3.
- using-Anweisung: macht alle Namen des angegebenen
Namensbereiches im lokalen verwendbar; Einfügung erfolgt erst mit Verwendung;
Beispiele:
int main() {
using namespace G;
using namespace G::INNER_G;
...
}
- using-Deklarationen fügen Aliase für die originalen Namen in
den lokalen Sichtbarkeitsbereich ein; keine Beeinflussung des Typs, Linkage etc.
- redundante using-Deklarationen sind erlaubt
- lokale Deklarationen haben stets Vorrang gegenüber denen durch
using-Anweisungen eingefügten
- using-Anweisungen können in Klassendefinitionen nicht
verwendet werden