Found in 7 comments on Hacker News
I'm not sure how C++ for DL is different from regular C++ so take my advice with a grain of salt.

I took a class under Bjarne Stroustrup and he highly recommended Tour of C++ [0] as the best way to learn modern C++ for someone who already has some programming experience. That and of course, Effective C++[1] by Scott Meyers.

[0] - https://www.amazon.com/Tour-C-Depth/dp/0321958314

[1] - https://www.amazon.com/Effective-Specific-Improve-Programs-D...

protomok · 2017-01-23 · Original thread
Interesting article, love the emphasis on continual learning.

But I actually think we (software devs) need to focus more on mastering languages as opposed to learning many languages at a surface level.

Books like "Effective C++" (https://www.amazon.ca/Effective-Specific-Improve-Programs-De...) really showed me the huge divide between knowing a language and mastering a language.

brewt · 2014-09-23 · Original thread
Good C++ isn't that far from high-level languages. Look at the bullet points here:

http://msdn.microsoft.com/en-us/library/hh279654.aspx

If you primarily use value and reference semantics, RAII, smart pointers, STL containers and algorithms, etc, C++ looks a lot like a really powerful high-level language, because that's what it is. Things only start to get ugly and/or low-level when you are trying to heavily optimize things.

Stroustrop (mentioned in other comments) is a great way to get started, and Effective C++ (http://www.amazon.com/Effective-Specific-Improve-Programs-De...) and its cousins will help you not shoot yourself in the foot.

C is a whole different beast. If you've coded in Java, you have a basic idea of how to do encapsulation in C++. Encapsulation in C is nearly impossible to guarantee. Really, a lot of C programming relies heavily on negotiated conventions and design by contract. Learning the C language is pretty easy (read K&R some weekend), but learning to program well in C is a completely different thing.

mandor · 2014-04-28 · Original thread
- Design Patterns: Elements of Reusable Object-Oriented Software http://www.amazon.com/Design-Patterns-Elements-Reusable-Obje...

- Effective C++: http://www.amazon.com/Effective-Specific-Improve-Programs-De...

brg · 2012-11-26 · Original thread
There are a number of programming books that I use to prepare for technical interviews. These are

1. Programming pearls, http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/...

2. Effective C++, http://www.amazon.com/Effective-Specific-Improve-Programs-De...

3. Programming Problems, http://www.amazon.com/Programming-Problems-Primer-Technical-...

The reason for these texts is not because they are overtly insightful or well written, it is because they have a large number of problems with completely coded solutions. After working through these basics, programming interviews are much more enjoyable.

I think Effective C++ by Scott Meyers[1] is the gold standard when it comes to books on writing good clean C++. It assumes that you already know the basic syntax though and already know how to program. This allow him to skip the intro stuff that take up the most space in many books and get strait to telling you what you need to know to write better code.

[1] http://www.amazon.com/Effective-Specific-Improve-Programs-De... (Make sure you get the latest edition, a lot has changed for the better)

wyclif · 2010-12-23 · Original thread
Avoid this book and get Scott Meyer's Effective C++: 55 Specific Ways to Improve Your Programs and Designs instead:

http://www.amazon.com/Effective-Specific-Improve-Programs-De...

Fresh book recommendations delivered straight to your inbox every Thursday.