First of all, like many of the Google style guides, this is actually wrong. The standard specifically allows you to define several specific objects in the std namespace (for example, the specialization of existing templates over user-defined types).
Ignoring these exceptions, they have the correct general idea - your code usually belongs somewhere other than the std namespace. You can put it in a global namespace or define a different namespace, but you should leave only std .
You should also not try to forward-declare anything in the standard library. Standard functions are allowed (for example) to include additional parameters if they include default values, so they can be called in a standard way. If you try to declare them yourself, instead of declaring an existing function, you can end up declaring an ambiguous overload.
Bottom line: yes, use the standard library. When you use it, get ads by including standard headlines, rather than trying to write your own.
source share