The name of the game in this book is confusion. The title mentions ANSI-C++ and I have decided to believe the author's claim that he had compiled his examples with Borland C++ Builder. I shall leave open the question of why he was using
#includeinstead of
or
.
Here are some additional confusing examples
- Target readers. The back cover claims 'Assumes no previous knowledge of programming.' while the preface states 'This book is aimed at programmers who wish ...'
-
Teaching style and coding. The first chapter that introduces C++ has the following lines of code (p. 40)
std::cin>>std::resetiosflags( std::ios::skipws ); while(std::cin>>ch, !std::cin.eof()){ std::cout<
- The smallest problem here is the fact that operator! had not even been introduced.
-
std::cin
is used all over the book. Nowhere could I find the directive usingnamespace std;
not even in the chapter dealing with namespaces. -
The usage of
eof()
is not a bug here, only becausech
is of typechar
. I easily found a similar piece of code which was buggy (p. 402)int num; while(cin>>num, !cin.eof()) { // whatever }
- This causes an infinite loop if the input is not an integer.
-
Why not
std::cin
? Because here,cin
is a local variable! -
The type of
cin
isistrstream
, a type designated by the standard as depreciated.
More examples of errors can be found on my pagehttp://www.cs.technion.ac.il/users/yechiel/CS/BadBooksC+C++.html#OOSCPPsmith