std:: namespace qualifier doesn't seem to be required when using std::algorithms, such as for_each.
Example code below.
Notes:
1. I use C printf from stdio.h, since iostream includes way too much.
2. There is no "using namespace std" statement, so everything should have to be fully qualified.
3. for_each running over char * needs to be qualified by std::
4. for_each running over std::vector does not.
5. I've checked the preprocessor output (g++ -E ...) and for_each is only defined in std::, by algorithm.
So what's going on here? How does the compiler know to look in std:: for for_each?
The entire article is just an emotional argument. The only "fact" he gives -- about operator<<
and cout isn't quite right, because operator<< is a member function of the stream.
The very last line of the article tells me that he is obviously not a proponent of C++, so that
alone says that the article is biased.