Существует ли функциональное различие между этими двумя вложенными способами использования неназванных пространств имен:
namespace A { namespace {
void foo() {/*...*/}
}}
и
namespace { namespace A {
void foo() {/*...*/}
}}}
Насколько я вижу, оба foo
получат внутренний уникальный идентификатор для единицы компиляции и могут быть доступны с помощью A::foo
- но есть ли тонкая или не очень тонкая разница, которую я не вижу