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
.