模板專業化
你可以為模板類/方法的特定例項化定義實現。
例如,如果你有:
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)
將獲得專門的實現。