C++ Template Metaprogramming
This is the book to read if you want to learn how to write programs that run at compile time with C++. Nowadays I prefer doing C++ code generation with Python to writing template metaprograms, but that doesn’t mean this book is bad. I enjoyed learning about this “black art”.