Template specialization
suggest changeYou can define implementation for specific instantiations of a template class/method.
For example if you have:
template <typename T>
T sqrt(T t) { /* Some generic implementation */ }
You can then write:
template<>
int sqrt<int>(int i) { /* Highly optimized integer implementation */ }
Then a user that writes sqrt(4.0)
will get the generic implementation whereas sqrt(4)
will get the specialized implementation.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents