Usually黎講
最多會用
1. enable_if + SFINAE黎做specialization/concept
2. CRTP做compile time polymorphism (可能有Ching會覺得唔太metaprogramming 但係係有方法可以做到某程度既compile time reflection eg check某method有冇被overload)
Seldom 黎講
最多會用埋
3. Manipulate function traits 加減param walk through all param/format string之類
Eg由sql string deduce preparedstatement既set method signature
Rarely黎講
4. Compile time state machine
