The
static
keyword can be confusing because in some situations it controls the location of
storage, and in others it controls visibility and linkage of a name.
With
the introduction of C++ namespaces, you have an improved and more flexible
alternative to control the proliferation of names in large projects.
The
use of
static
inside classes is one more way to control names in a program. The names do not
clash with global names, and the visibility and access is kept within the
program, giving you greater control in the maintenance of your code.