Some people claim that using namespace std; is bad practice. Others say it’s OK in it’s place. But everyone agrees that putting it in a header file is verboten.
So dear reader, who can explain this from Bjarne Stroustrup’s own web site.
http://www.stroustrup.com/Programming/Graphics/std_lib_facilities.h
He didn’t even put it at the top where you might notice it, its about 50 lines down.
What’s going on here? Are mischievieous hackers out to discredit BS by putting bad code on his web-site?
Seeing as this is a course header, I think students are supposed to include it and then use most of the standard library that way. I am surprised Stroustrup teaches it that way (it is, in my opinion, still bad practice), but it does mean that he has one less bit of syntax to explain to his students. I don’t think any non-coursework applications (or, even worse, libraries) are supposed to include it, so it’s arguably somewhat acceptable.
I still think it’s very poor style, and that saying that standard things have to be prefixed with
std::would have been better.