I have been looking over some posts here on Stackoverflow, and I have noticed that most people use std:: but some people uses ::std::
I think i have read something about a global scope or something like that in namespaces as a reason to use ::std:: (but i can't find it now, because it was in a comment to an unrelated question)
Is there any reason to prefer one way versus the other?
It's a bad idea to write code like this, but you could:
In that case, the
std::stringrefers to the::foo::stdnamespace, not the::stdnamespace. So, using::std::stringis just being a little bit more unambiguously careful.