4 ms·
C++ programmer and educator here. This (volume 3) is well organized good beginner level teaching material. You probably know most of it already. I was looking
by leopoldj 3y ago
C++ programmer and educator here. This (volume 3) is well organized good beginner level teaching material. You probably know most of it already.
I was looking for range-based for loop, std::array and std::span and happy to see that they are all there.
Because this book relates to HPC, I'd add a few things: Return Value Optimization, move semantics, and in the recursive function section a note about Tail Call Optimization.
As a beginner level material I can highly recommend it.
- jebarker 3y agoThat's great - thank-you. Assuming I work through this quickly, what resources would you recommend as a follow-on?
- rramadass 3y agoI am not the person you asked the question to, but my recommendation would be; 1) Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers by Peter Gottschling - Not too thick and focuses on how to program in the language. 2) Software Architecture with C++: Design modern systems using effective architecture concepts, design patterns, and techniques with C++20 by Adrian Ostrowski et al. - Shows how to use C++ in the modern way/ecosystems i.e. with CI/CD, Microservices etc. Optional but highly recommended; a) Scientific and Engineering C++: An Introduction with Advanced Techniques and Examples by Barton & Nackman - Old pre-Modern C++ book which pioneered many of the techniques which have now become common. One of the best for learning C++ design.
- leopoldj 3y agoInstead of giving you a list of books I'll give you a list of topics to learn well. They are listed in a proper learning sequence. - Modern object initialization using {} and (). - std::string_view - std::map - std::stack - Emplace addition of objects to containers like vector and map. - Smart pointers (std::unique_ptr, std::shared_ptr and their ilk). - Ranges library. - Concurrency support library (std::async, std::future, std::thread, locks and the whole deal).