Adding elements to arrays and changing variables during compilation – imperative meta-metaprogramming in C++
If you follow these steps, you might learn to write things normally impossible to do in compile time, such as self-registering factory.
For nerds, by nerds