5 ms·
A bit off topic but I didn’t want to make a separate post for this. I want to brush back up on C++ and learn all the modern features. It’s been over 10 years si
by sprite 6y ago
A bit off topic but I didn’t want to make a separate post for this. I want to brush back up on C++ and learn all the modern features. It’s been over 10 years since I’ve touched any C++ and looking for a good book recommendation for someone that’s familiar with many other programming languages and has programmed quite a bit of c/c++ in the past.
- steveklabnik 6y agoThis is a pretty common question on /r/cpp; here's a thread from two months ago on the topic https://www.reddit.com/r/cpp_questions/comments/gs0and/list_of_resources_to_learn_modern_c/ https://www.reddit.com/r/cpp_questions/comments/gs0and/list_...
- pjmlp 6y agoBjarne's Tour of C++ is a good book for it, get the 2nd edition though, as it is updated for C++20.
- ryanianian 6y agoIf you're already familiar with C++ (or just C), Bjarne's blue book is really good, but a bit academic. I'd recommend reading that along with Scott Meyers "Effective Modern C++". I came from knowing only a bit of C++98 from college 10 years ago, read both of those, and now feel like I know C++ (the language) really well. Mastering the STL is step 2. Mastering a (any) build-system is step 3.
- cglezm 6y agoBjarne Stroustrup - A Tour of C++, Arthur O’Dwyer - Mastering the C++17 STL, Jacek Galowicz - C++17 STL Cookbook, Scott Meyers - Effective Modern C++ books also https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md https://github.com/isocpp/CppCoreGuidelines/blob/master/CppC... and https://en.cppreference.com https://en.cppreference.com and the conferences of CppCon in youtube.
- arnarbi 6y agoSecond for Scott Meyer Effective Modern C++. I was in the same situation as you and it seemed like the book was written almost specifically for that.
- sprite 6y agoPerfect thanks.
- billti 6y agoI love Scott’s books. Not just for the quality of the content, but also for the humor he manages to inject into a quite dry topic. That said, I find he only covers a few of the more tricky topics, then after a brief “this is what it is and why its useful”, then spends more time on “these are all the edge cases that are dangerous and confusing”. Maybe he’s right and it’s important to learn all that. But I tend to finish a chapter and think “Cool feature, but I’ll never remember all those foot-guns so I’ll just avoid it if I can”. But maybe that’s a fair take on C++ <shrug>.
- arnarbi 6y agoI really like that he points out the dragons. Most books just explain the language/system design, and add value only by crafting good explanations. But Scott (and others) add an element of experience as well, which is extremely valuable. I don't think you need to learn all the corner cases, but reading about them at least helps me a lot with understanding the underlying semantics. And when I do run into them, I might get a vague uncomfortable feeling that's enough to make me go back to the book for a reminder.
- npalli 6y agoIf you are coming back to C++, a great book is "C++ Crash Course" by Josh Lospinoso. Don't be put off by the jokey title and cartoons, it is comprehensive and goes directly to modern c++ ground up (c++17) without going through the dreadful pre-modern c++ parts (ex. protected, friend, class OOP stuff). After that you can try Stroustrup's "Tour of C++", second edition for a more formal introduction to the language (C++20). You will be ready to tackle coding modern c++.