Pomocí oboru Názvů Složení
Nejlepší praxe v programování naznačuje, izolovat nové údaje orfunctionality v rozumně pojmenované, jedinečný obor názvů wheneverpossible. To je považováno za výhodu oproti dumpingové všechno, co se v globální obor názvů, jak je pak název look-up může být explicitně povolena ordisabled jako výše, symboly jsou neustále rozbité, bez repetitivenaming předpony nebo makra, atd.
zvažte například projekt, který definuje většinu svých tříd v namespace gtk
. namespace gtk
až namespace std
je možné přizpůsobit pomocí C++-funkce nazvané kompozice. To je to, co se stane, ifa pomocí prohlášení je uveden do anamespace-definice: importované symbol(y) se dováží do kv současné době aktivní oboru názvů(s). Například:
namespace gtk{ using std::string; using std::tr1::array; class Window { ... };}
v tomto příkladu se std::string
importuje donamespace gtk
. Výsledkem je, že použitístd::string
uvnitř jmenný prostor gtk stačí použít string
, bez explicitní kvalifikace.Jako bonus,std::string
není dovážené do globální obor názvů. Dále je možné provést propracovanější uspořádání zpětné kompatibility a přenositelnosti, kdyusing
– deklarace mohou být zabaleny do Maker, která jsou nastavena na základě autoconf-testů buď na „“ nebo tj. using std::string;
(v závislosti na tom, zda má systém libstdc++ v std::
nebo ne). (nápady zmllewelly a Karl Nelson)