capypad
0 Tage Serie
cpp / intermediate
Snippet

Template-Spezialisierung

Die Template-Spezialisierung ermöglicht es Ihnen, eine benutzerdefinierte Implementierung eines Templates für einen bestimmten Datentyp zu definieren und so die generische Version zu überschreiben.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
template <typename T>
class Formatter {
public:
void print(T val) { /* Default logic */ }
};
 
template <>
class Formatter<bool> {
public:
void print(bool val) {
std::cout << (val ? "Yes" : "No");
}
};
Erklärung
1
template <>
Zeigt an, dass dies eine vollständige Spezialisierung eines zuvor definierten Templates ist.
2
class Formatter<bool>
Gibt an, dass diese spezifische Version der Klasse nur für den Typ bool bestimmt ist.