w C++ Przestrzeń nazw anonimowy odpowiada:Co zrobić, jeśli potrzebuję anonimowego obszaru nazw w nagłówku?
namespace $$$$ {
//something
}
using namespace $$$$;
Gdzie $$$$ jest pewnego rodzaju unikalnego identyfikatora. Anonimowy obszar nazw jest wtedy użyteczny dla kodu, który nie powinien być widoczny poza jednostką kompilacji.
Jak na razie dobrze, jednak ostatnio zacząłem pisać kod z szablonami, taki kod musi znajdować się w nagłówkach, więc używanie anonimowych przestrzeni nazw nie ma większego sensu, ponieważ samo włączenie nagłówka niweczy efekt izolacji.
To pytanie brzmi, jaki jest sugerowany sposób w tym przypadku? Zacząłem używać nazwanej przestrzeni nazw o nazwie Prywatne. Nie przeszkadza to nikomu, kto chce używać identyfikatorów w środku, ale przynajmniej zmniejsza konflikt nazwy do id "Prywatne".
Czy są lepsze sposoby? Propozycje?
AFAIK to wszystko można zrobić, biblioteki szablonów często używać nazw takich jak 'detail' dla tego samego celu. – user657267
Idealnie cały kod powinien znajdować się w jakiejś przestrzeni nazw. Umieść szablony w jakiejś przestrzeni nazw o nazwie Utility lub Alpha lub MyWork lub czymś podobnym. I umieść tam również funkcje pomocy. –
Dzięki user657267; to było potwierdzenie, którego szukałem. Bałem się, że brakuje mi tego, co oczywiste. –