A good indicator of a bad way to teach C++ could be if you stumble across pure pointers or the keyword "new" in code example quite early (like earlier than halfway into the book). This *could* mean the book might still use some old fashioned (and thus error-prone and dangerous) ways to achieve certain things.
Even pure arrays might be an indicator of such a problem.
I don't know this book, but I don't think a C++ book can easily be adopted to cover C++11, because a lot of the basic workings of the language have been improved substantially, thus rendering section relying on the older standard obsolete.
Maybe somebody knows this book and can give a more facts based assessment of it.
I just quickly skimmed through C++ Primer Plus 6th edition ( love my Safari membership ), I have to say your guess is exactly right.
DO NOT use this book to learn modern C++. At all, period.
First off, it starts off by saying:
C++ Primer Plus[url=""][/url] approaches C++ by teaching both its C basis and its new components, so it assumes that you have no prior knowledge of C. You’ll start by learning the features C++ shares with C. Even if you know C, you may find this part of the book a good review. Also it points out concepts that will become important later, and it indicates where C++ differs from C.
This is troubling, and arguably the wrong way to teach C++, especially in the C++11 world. If you come from a C background, sure, but teaching a user an obsolete language construct is worrying.
Even worse, guess when the first mention of smart pointers is... Chapter 12. How many chapters in this book? 12.
Basically they've bolted on the C++ 11 features as an additional chapter, instead of making them intrinsic to the book.
It's not a horrible book, but certainly not an ideal one.