namespaces
understanding C namespaces
C has four different name spaces for identifiers: Label names (the goto type). Tags (names of structures, unions and enumerations). Members of structures and unions (these have a separate namespace per structure/union). All other identifiers (function names, object names, type(def) names, enumeration constants, etc). See also C99 6.2.3. So your two question can be answered … Read more
Can I undo the effect of “using namespace” in C++?
No, but you can tell your coworkers that you should never have a using directive or declaration in a header.
Renaming namespaces
using namespace new::nested; Example at Ideone. Or if you actually want a real alias: namespace on = one::nested; Example at Ideone.
Should I use a private static member function, or free function in an unnamed namespace?
If the function is only used in one source file, it makes perfect sense to define it there. If nobody else is using it, it doesn’t belong in the header. As you say, it reduces dependencies and can potentially save some recompiles.