Should I start writing programs without that included?
Yes.
While prefixing everything with std:: may seem clumsy at first, it will increase the clarity of code after you get used to it, because you will have a hint if something is from the C++ standard library or not.
Here's the rationale as to why usingnamespace std; is bad style:
Tip: as far as possible, catch exceptions by reference to const
In general, you won't go wrong if you always use std:: to qualify every name from the standard library.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#include <iostream>
#include <string>
int main ()
{
std::string str ;
// this is fine; ::std::getline is found via koenig look up (ADL)
// and there is no candidate ::getline()
getline( std::cin, str ) ;
// this too is obviously fine; koenig lookup is not required
// it would be fine even if there was a viable ::getline()
std::getline( std::cin, str ) ;
}
In essence, everything from the C++ standard library is in the std namespace.
Resist the temptation to abuse the cases where not writing std:: also works.