Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Namenskonventionen | Erstes Template Erstellen
C++-Templates

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

main.cpp

1234
template<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

main.cpp

1234
template<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

main.cpp

12345
template <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.

question mark

Was könnte in die Platzhalter passen?

Wählen Sie alle richtigen Antworten aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 1. Kapitel 5
some-alt