One factor to keep in mind is that the std is called in such a way as to make it short. The prefix A std:: is only 5 characters, hardly the end of the world. This is in contrast to .NET namespaces such as System.Collections.Generic . It is designed for easy typing.
For this reason, I usually just print the std prefix. Boost isn't that bad either, so I usually type that too.
Usually I usually call sub-name spaces ( boost::filesystem for example) something shorter ( namespace fs = boost::filesystem for example)
Using typedefs also helps. And if I need to refer to a type often, I can just add using for it.
But I generally try to avoid using in headers, especially when I use them, I prefer to put them in the function area so as not to pollute the actual namespace.
C ++ offers many tools that let you not specify a namespace without polluting the global namespace.
jalf
source share