Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Namenskonventionen | Erstellen der Ersten Vorlage
C++-Vorlagen
course content

Kursinhalt

C++-Vorlagen

C++-Vorlagen

1. Erstellen der Ersten Vorlage
2. Verwendung von Templates
3. Klassenvorlagen
4. Templatespezialisierung

book
Namenskonventionen

Gute und schlechte Benennungen

Genau wie bei Variablen können Sie Template-Parameter beliebig benennen. Das Einhalten von Namenskonventionen kann jedoch die Lesbarkeit und Wartbarkeit des Codes erheblich verbessern. Hier sind einige gute und schlechte Praktiken, die Sie berücksichtigen sollten.

cpp

main

copy
1234
template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }

Sie fragen sich vielleicht, warum T als bessere Namenswahl als Type angesehen wird, obwohl letzteres klarer erscheint. Der Grund ist einfach: T ist eine weit akzeptierte Konvention, die für Type steht. Es zeigt sofort an, dass der Template-Parameter einen Typ darstellt, was den meisten Entwicklern vertraut ist. Es ist auch üblich, U oder V zu verwenden, wenn T bereits verwendet wurde.

Beschreibende Benennung

Wenn Sie mehrere Template-Parameter haben und deren Zweck nicht sofort ersichtlich ist, ist es eine gute Praxis, beschreibende Namen zu verwenden, die mit T beginnen.

cpp

main

copy
1234
template<typename TKey, typename TValue> void map() { // Function implementation }

Wenn Sie sich die Dokumentation einiger Templates ansehen, werden Sie möglicherweise feststellen, dass einige Entwickler einen Unterstrich (_) vor den Typ-Parameter setzen, um ihn deutlicher zu machen. Sie können diese Praxis ebenfalls übernehmen. Der wichtigste Aspekt ist jedoch, Konsistenz in Ihrem gesamten Code zu wahren. Wählen Sie einen Benennungsstil, den Sie bevorzugen, und halten Sie sich daran.

Klasse und Typname

Sowohl class als auch typename werden in Template-Deklarationen verwendet. Sie sind in diesem Kontext austauschbar.

cpp

main

copy
12345
template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }

Historisch gesehen war das class-Schlüsselwort die einzige verfügbare Option zur Definition von Template-Parametern. Daher können Sie dieses Schlüsselwort in älterem Code finden. Wenn jedoch Templates erstellt werden, wird das typename-Schlüsselwort aufgrund seiner Klarheit oft bevorzugt, daher werden wir es verwenden.

Was könnte in die Platzhalter passen?

Was könnte in die Platzhalter passen?

Wählen Sie einige richtige Antworten aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
We're sorry to hear that something went wrong. What happened?
some-alt