You can use :: to specify global variable name or function if you have
same name in you local scope. Or use Base:: to specify Base scope name
if you have same name in derived class.
Usually, namespace should be your project name, you can add company
name in front of it if you like.
Don’t use using directive in any .h file, because It will pollute allthe .cpp file which include this head file. Less use it in any .cppfile, you should using scope-resolution more.
If you have to use using directory, put it after all the include files.
Do not put more in global-scope, Learn to using namespace instead of
global.
unnamed namespace just like static to specify it to local file scope. At the
same time, make anonymous namespace as small as possible. see C++
primer p492