模板专业化
你可以为模板类/方法的特定实例化定义实现。
例如,如果你有:
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)
将获得专门的实现。