Use it only when you have to do. For example,
namespace X {
double std(::std::vector<double> const& values) { … }
void foo(::std::vector<double> const& values) {
::std::cout << std(values) << ::std::endl;
}
}In the above function, if you don't use prefix ::, the compiler will thought you refer to the function std in namespace X instead of the standard library namespace std.