with questions at the end. coding exercises and answers. for extreme beginners.

If there was a "BEST", there's be only one. We wouldn't need the rest because they'd all be crap.

Hi silvercats,

That other thread includes some fairly recent posts about some fairly recent books, so it's worth a read. You can check out the books mentioned on Amazon, use the preview to check whether the content and style looks right for you, for where you're coming to C++ from. That would be my advice: go back to that thread, read some of the more recent recommendations, check them out on Amazon, see what appeals to you. At that point, you can always ask here in Daniweb whether anyone has experience of a particular book that interests you.

One of the more recent recommendations in that other thread is for C++ Primer, now in its 5th edition, so the book has legs, and it's been updated to include features from the latest C++ standard, C++11. If that's something that's important to you (and why wouldn't it be?) perhaps consider C++ primer as a candidate. It includes exercises. I'm not sure if includes answers, but you can always ask here in Daniweb if you're having trouble with an exercise.

Good luck with your search, and with your C++.

I am expecting an answer from an kind of a expert who have read multiple books . I am pretty sure only few are in here..................................

Edited 4 Years Ago by silvercats

I am expecting an answer from an kind of a expert who have read multiple books .

The main problem with this is that you don't become an expert by reading books after books on C++ (I think I have maybe read, partially, about 3-4 books on C++, and all were the more advanced books from the "C++ In-Depth" series, i.e., expert-level books). You become an expert by spending years honing the craft. Maybe some of the experts here started their learning journey by reading one of those "beginners" book many years ago, but they have long since moved on. Safe to say, I'm an expert in C++, but I have never read a beginner's book. I started fiddling with programming on another "easier" language (Delphi), and when I switched to C++ (many years ago), a beginner's book was of little use to me.

The best I can do to help you is convey hearsay about recent readers having said "I learn C++ using book X, and it was really good.", and skim through tables of contents or the books themselves and assess whether it seems well written and has the right stuff in it. In that perspective, the C++ Primer (4th or 5th edition) are highly recommended. What you want to look for is who the authors are. You need authors that are knowledgeable, experienced, and have written a lot of such educational material before. In that respect, C++ Primer has a stellar track-record. And, of course, the catchier the title, the worse the book is, usually. And, from those criteria, the list gets pretty short:

  • "C++ Primer, 5th Edition": Well written, well structured, has lots of examples and exercises, good authors, and no hidden agenda (or programming philosophy to convey), just straight-forward "learn to do stuff" approach.
  • "Accelerated C++": Original in its approach, very to the point, stellar reviews, recommended authors, and very complete. The drawback is that it is getting a bit old now.

Books that are tempting, but not good enough in my opinion:

  • "Starting Out with C++:..": This seems like a reasonably good book, at least, as a pedantic university course textbook on C++. However, it has way too much focus on C-style mechanisms that are good to know, but not very useful in C++. In other words, it is not a practical learning approach at all. The table of contents exactly reflect what I would expect an old professor (who is more of a native C programmer, with some acquaintance with C++) to use for his C++ course-work.
  • "Thinking in C++": This series is not really aimed at beginners because it doesn't use a practical approach at all, it is mostly about certain philosophy or lessons learned about to way to approach problems in C++. Might be a good second book, to lean you into the world of software engineering.
  • "Practical C++ Programming": I think the intended title for this book is "Practical C Programming", they must have made a typo in the title. IMO, don't get near this book.
  • "C++ Primer Plus": This isn't a book for absolute beginners, but if you have some acquaintance with basic programming logic (e.g., you "understand" programming and have dabbled with a few simple languages like C or Matlab), then it could be a good fit for you.
  • "Programming And Problem Solving With C++": This is very similar to "Starting Out with C++:..", it is a pedantic course-work textbook, written by university professors to teach programming fundamentals via C++. Not practical, no good for beginners, and it is also a C programming book in disguise.

And that covers most of the top 30 or so books (and editions) on C++ on amazon. So, I hope that narrows it down for you.

I will mirror this list on the appropriate thread (C++ Books).

Thanks. Don't you think that Accelerated C++ is being written in 2000 can be a problem ?
It has 320 page which is kinda good

To Silvercats: Everything in Accelerated C++ is as valid now as it was in 2000. It is true that it doesn't cover the C++11 stuff, but it is possible to learn that stuff later.

This article has been dead for over six months. Start a new discussion instead.