Однако возникает вопрос:
Существует ли альтернативная идиома/механизм, позволяющая избежать загрязнения глобального пространства имен при распространении библиотеки только с заголовками?
РЕДАКТИРОВАТЬ:
Мое типичное использование анонимного пространства имен — сохранить некоторый блок кода локально для файла, чтобы он не загрязнял глобальное пространство имен. Например, если бы какой-то класс имел какую-то волшебную константу, то вместо объявления глобального статического целого числа я мог бы объявить его в файле cpp:
Код: Выделить всё
namespace{
int magic = 5;
}
Подробнее здесь: https://stackoverflow.com/questions/546 ... -libraries
Мобильная версия