==Benefits and drawbacks of template metaprogramming==
; Compile-time versus execution-time tradeofftradeoffs get :visible Ifif a great deal of template metaprogramming is used.
;* [[Generic programming]] : Template metaprogramming allows the programmer to focus on architecture and delegate to the compiler the generation of any implementation required by client code. Thus, template metaprogramming can accomplish truly [[Generic programming|generic code]], facilitating code minimization and better maintainability{{Citation needed|date=June 2014}}.
; Readability :* With respect to C++ prior to version ''C++11'', the syntax and idioms of template metaprogramming were esoteric compared to conventional C++ programming, and template metaprograms could be very difficult to understand.<ref>{{cite web