I am learning templates. Which book is worth buying for doing template programming?
I already have The C++ Programming Language and Effective C++.
Those two books are pretty good in my opinion and they helped me a lot
- C++ Templates: The Complete Guide by David Vandevoorde and Nicolai M. Josuttis
- Modern C++ Design by Andrei Alexandrescu
The first one explains how templates work. The second book is more about how to use them. I recommend you to read the first book before starting with Modern C++ Design because that's heavy stuff.
Maybe a bit mind-boggling if you are just learning, but after the books you mention, you may want to read Andrei Alexandrescu's Modern C++ Design, if only to learn what can be accomplished through templates. Besides, it discusses many advanced aspects of templates wonderfully.
Search for fairly recent book "Advanced C++ Metaprogramming" by Davide Di Gennaro
Both Modern C++ design and C++ Template Metaprogramming are very good (and quite advanced) books on the subject. I have a strong personal preference for the first.
C++ Templates: The Complete Guide is your best bet. You could also learn about the Standard Library which heavily uses templates.
There is a hidden treasure in C++ templates that very few people are aware of: C++ Common Knowledge: Essential Intermediate Programming.
The last 15 chapters of that book both teaches better and complements C++ Template Metaprogramming in some respects. I strongly recommend anyone who is to learn templates to read this book foremost.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With