Learn about the link list as an example of a compile-time data structure and implement it with template meta-programming.
Articles Written by Zeeshan Amjad
Further your understanding of recursion.
There are many different styles of recursion that can be used in a variety of instances. Learn about the styles and find the one that is best for your current project.
Learn to use the C++ language construct such as "Template template parameters" to introduce the abstraction layers not only to improve the quality of code but also to make it more reusable.
Learn how to implement some basic number theory functions with the help of C++ template meta programming.
Number theory is a branch of math that can be very attractive.