模板專業化

你可以為模板類/方法的特定例項化定義實現。

例如,如果你有:

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) 將獲得專門的實現。