Unterschiede zwischen Template-Spezialisierung und Überladung für Funktionen?
Ich weiß also, dass es einen Unterschied zwischen diesen beiden Codebissen gibt:
template <typename T>
T inc(const T& t)
{
return t + 1;
}
template <>
int inc(const int& t)
{
return t + 1;
}
und
template <typename T>
T inc(const T& t)
{
return t + 1;
}
int inc(const int& t)
{
return t + 1;
}
Ich bin verwirrt, was die funktionalen Unterschiede zwischen diesen beiden sind. Kann jemand Situationen aufzeigen, in denen sich diese Ausschnitte unterschiedlich verhalten?