Een namespace maken
Een namespace maak je met het C++ keyword namespace. De naam verzin je zelf. De namespace geldt voor het erna volgende blok code. Alle constructies daarbinnen behoren tot jouw namespace zoals in dit voorbeeld:
namespace mynamespace
{
long a;
double b;
}
Om te voorkomen dat jouw namespace overlapt met die van andere programmeurs
kun je bijvoorbeeld een combinatie van je naam en project of zelfs
geboortedatum gebruiken.
Items binnen een namespace aanwijzen
Elementen binnen jouw namespace kun je buiten die namespace aanwijzen met de scope operator :: dus de variabelen uit het vorige voorbeeld wijs je aan als
mynamespace::a
mynamespace::b
using namespace
Als je namespace veel items bevat of je wilt die op veel plaatsen gebruiken dan bestaat de kans dat je programma meer dubbele punten bevat dan leesbare tekst. Dan wordt het tijd voor de "using" operator. Daarmee geef je aan dat alle items uit een bepaalde namespace worden toegevoegd aan de globale scope.
Voor het bovenstaande voorbeeld zou je dan schrijven
using namespace mynamespace;
waarmee variabelen a en b gewoon zonder scope operator gebruikt kunnen
worden.
using namespace::item
Je kunt ook een enkel item uit een namespace toegankelijk maken vanuit de globale namespace, zoals bijvoorbeeldusing mynamespace::a;
Namespace std
Alles in de standaard bibliotheek is gedefinieerd in de namespacestd
.
Voorbeeld:
namespace
Nested namespaces
namespace A { namespace B { namespace C { } } } Nieuwe schrijfwijze vanaf C++17 namespace A::B::C { }