using-directive
using namespace std;: makes every name in a namespace usable unqualified.
A using-directive makes all names of a namespace visible for lookup in the current scope; in a header it leaks into every file that includes it, so keep it out of headers.