В C++ анонимное пространство имен эквивалентно:
namespace $$$$ {
//something
}
using namespace $$$$;
Где $$$$ — это какой-то уникальный идентификатор. Затем анонимное пространство имен полезно для кода, который не должен быть виден за пределами модуля компиляции.
Пока все хорошо, однако недавно я начал писать код с шаблонами, такой код должен быть в заголовках, поэтому использование анонимных пространств имен не имеет особого смысла, поскольку простое включение заголовка сведет на нет эффект изоляции.
Тогда вопрос в том, каков предлагаемый способ в этом случае? Я начал использовать именованное пространство имен под названием Private. На самом деле это не останавливает тех, кто хочет использовать внутренние идентификаторы, но, по крайней мере, уменьшает конфликты имен с идентификатором «Private».
Есть ли лучшие способы? Предложения?
detail
, именно для этой цели. - person user657267   schedule 30.09.2014