Scopes: global, class, function, local, statement
Namespaces help distinguish between identical variable names from different contexts.
using declaration:
using std::string
— “when I write string, I mean std::string”using directive:
using namespace std
— “when you can’t find a name in this scope, look in std”