REVIEW - Notebook C++ - Tips and Tricks with Templates


Notebook C++

Tips and Tricks with Templates


Andreas Fertig


Fertig Publications (2021)




Paul Floyd


September 2023



Verdict: Recommended with reservations

A short review for a short book. Whilst there are 100 pages excluding the index, it feels a bit that the book was stretched a lot to get to that figure. There are a lot of blank pages and the first real content is on page 25. That’s not a lot of content for what I paid (18.68 Euros for the colour paper version – shame on me for being lazy and getting it from Amazon when the ebook price would have been a lot more reasonable). On the plus side, it does mean that there’s no problem reading it all in one day.

I’ll get straight to the USP. Andreas Fertig created this site: It’s a bit like compiler explorer, except that instead of showing assembler output, it shows the input source transformed into a kind of C++98 version of the internal LLVM/clang++ abstract syntax tree. The book isn’t just about this site, but it does figure regularly. I hadn’t previously used the site (if I had heard of it, I’d forgotten). It certainly is very interesting.

The book contains 24 Notes that start off very basic and get to a fairly advanced level at the end. As is often the case, I felt that some of the more advanced examples were cases of solutions in search of a problem. For instance, Note 21 which uses a template class to deduce the size of a buffer. I would probably use something like this if I developed in C++20 and it could be used out of the box. For older versions, I’d just stick to buffer and size and rely on static/dynamic analysis to check the size.

Templates aren’t my strong point and I enjoyed trying to figure out how the snippets worked.

In summary, I liked the book. If you are interested get the ebook direct from leanpub and also it looks like the book is also a good fit for the training courses that the author offers.


Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.