Описание тега unnamed-namespace
An unnamed namespace in C++ restricts a set of declarations within an unnamed namespace block to the enclosing file. This is preferred by the standard over static functions, which fulfilled a similar purpose in C.
Unnamed namespaces are a C++
concept that refers to namespaces that are declared without specifying a name for them. An unnamed namespace would behave the same as a named namespace with a unique name.
Unnamed namespaces are a superior replacement for the static declaration of variables. They allow variables and functions to be visible within an entire translation unit, yet not visible externally. Although entities in an unnamed namespace might have external linkage, they are effectively qualified by a name unique to their translation unit and therefore can never be seen from any other translation unit.
More info: Unnamed Namespaces