Namenskonventionen
Swipe um das Menü anzuzeigen
Gute und schlechte Benennungen
Wie bei Variablen können Sie Template-Parameter beliebig benennen. Das Einhalten von Namenskonventionen verbessert jedoch die Lesbarkeit und Wartbarkeit des Codes erheblich. Im Folgenden finden Sie einige gute und schlechte Praktiken, die Sie beachten sollten.
main.cpp
1234template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }
Vielleicht fragen Sie sich, warum T als bessere Benennung als Type gilt, obwohl letzteres scheinbar klarer ist. Der Grund ist einfach: T ist eine weit verbreitete Konvention und steht für Type. Es zeigt sofort an, dass der Template-Parameter einen Typ repräsentiert, was den meisten Entwicklern vertraut ist. Es ist ebenfalls üblich, U oder V zu verwenden, wenn T bereits vergeben ist.
Beschreibende Benennung
Wenn mehrere Template-Parameter vorhanden sind und deren Zweck nicht sofort ersichtlich ist, empfiehlt es sich, beschreibende Namen mit dem Präfix T zu verwenden.
main.cpp
1234template<typename TKey, typename TValue> void map() { // Function implementation }
In der Dokumentation einiger Templates ist zu erkennen, dass manche Entwickler einen Unterstrich (_) vor den Typ-Parameter setzen, um diesen deutlicher hervorzuheben. Diese Vorgehensweise kann ebenfalls übernommen werden. Am wichtigsten ist jedoch, im gesamten Code eine einheitliche Benennung beizubehalten. Einen bevorzugten Stil auswählen und konsequent anwenden.
Class und typename
Sowohl class als auch typename werden in Template-Deklarationen verwendet. In diesem Zusammenhang sind sie austauschbar.
main.cpp
12345template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }
Historisch gesehen war das Schlüsselwort class die einzige verfügbare Option zur Definition von Template-Parametern. Daher kann dieses Schlüsselwort in älterem Code auftreten. Beim Erstellen von Templates wird jedoch häufig das Schlüsselwort typename wegen seiner Klarheit bevorzugt, weshalb wir es verwenden werden.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen