In many other languages the default level of access for a class/struct and members is within the namespace scope, with public indicating that it is accessible outside of that namespace (or package, or library, or whatever they call their namespaces.)
In C++ I see I have the options public which makes it visible everywhere, private which is only for the class, and protected which is for this class and nested classes.
What about for only this namespace? That's often useful if you're writing a library that can access its own classes and their members, whilst restricting access by importing files.