换来生成程式码，虽然同为编译期的语言特色，但巨集系统通常其编译期处理流的能力（"compile-time process flow abilities"）有限，且对其所依附之语言的语义及型别系统缺乏认知（一个例外是LISP的宏）。模板元编程没有可变的变数——也就是说，变数一旦初始化后就不能够改动。因此他可以被视为函数式编程（""）的一种形式。
使用模板超编程.模板超编程的语法通常与一般的程式语法迥异，他有其实际的用途。一些使用模板超编程的共同理由是为了实现泛型编程（""）或是展