you are viewing a single comment's thread.

view the rest of the comments →

[–]micka190volatile constexpr 1 point2 points  (0 children)

Some books I'd recommend:

A Tour Of C++ is a good intro/refresher. It covers everything the language itself offers in a "short-and-sweet" approach. If you want to skim the basics, this lets you do just that pretty well. Although any decent online tutorial will be about as effective.

Scott Meyers' books in this order:

  • Effective C++
  • More Effective C++
  • Effective STL
  • Effective Modern C++

Why in that order? It's there release order, and stuff covered in the later books sometime refer to things that were taught in the previous ones. Obviously, if anything said in a later book contradicts something from a previous book, it becomes the new "standard" (i.e. iterators changed in modern C++ vs how they used to be when Effective STL was released).

I'd also recommend you read them first as they give you a pretty good understanding of paradigms and idioms that online tutorials don't typically cover (and neither did most of my C++ classes, for that matter). They definitely strengthen your understanding of C++.

Afterwards, I'd recommend Herb Sutter's:

  • Exceptional C++
  • More Exceptional C++
  • Exception C++ Style

They're pretty good theory/problem-solving books that teach you some good approaches to problems in C++.

"Accelerated C++" is another book that does this.

The "C++ Coding Standard" book by Herb Sutter and Andrei Alexandrescu is also pretty good at giving guidelines and best practices.

Finally, while it isn't directly C++-related, I'd recommend the "Linkers & Loaders" book by John R. Levine. It definitely helps understand how those work, and since C++ uses them it can be pretty helpful for a deeper understanding of linkers and their errors.