C++模板元编程是让编译器提前完成一些运行期的工作,这样提高了程序的运行期速度。
由编译器完成,那些只能在编译器做工作,可是在编译器能使用的东西很少。
模板机制是C++除了继承之外的代码重用的一项关键的机制,它在编译器完成模板的实例化的特性满足了能在编译期做工作的基本条件。
模板的特化和递归是元编程中的利剑,他们两个是一起使用的,递归完成计算,特化为递归提供出口。
在模板编程中除了模板之外,C++语言在编译能够使用的还有枚举,static ,typedef。
还有一个重要的技术,函数重载,函数重载也是在编译器完成调用哪一个的。有使用我们需要做类型判断的使用,你会想到使用if和else可是,那只有运行期的使用才做给出结果,那我们前面做的努力不就白费了。这个时候我们可以使用函数重载,参数就是我们需要刷选的类型,只有重载过的才能通过编译。