模板专业化

你可以为模板类/方法的特定实例化定义实现。

例如,如果你有:

template <typename T>
T sqrt(T t) { /* Some generic implementation */ }

然后你可以写:

template<>
int sqrt<int>(int i) { /* Highly optimized integer implementation */ }

然后,写入 sqrt(4.0) 的用户将获得通用实现,而 sqrt(4) 将获得专门的实现。