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

Basic Syntax of Templates in C++

Swipe um das Menü anzuzeigen

Das Erstellen einer Vorlage ist tatsächlich ziemlich einfach und gehört zu den unkompliziertesten Aspekten ihrer Verwendung. Zunächst muss entweder eine Funktion oder eine Klasse erstellt werden. Wir beginnen mit der Funktion.

main.cpp

main.cpp

123456
void MyFirstTemplate() { } int main() { MyFirstTemplate(); }

Wie zu sehen ist, handelt es sich um eine sehr einfache Funktion, die derzeit noch nichts macht. Sie kann problemlos innerhalb der Funktion main aufgerufen werden. Die Aufgabe besteht nun darin, sie in eine Vorlage umzuwandeln.

template.h

template.h

123456789101112
// To create a template, you need to add code above the function or class // Start with the keyword `template` to indicate you're defining a template // template // Add angle brackets `<>`, this is list of the parameters for template // template < > // Inside of it has to be keyword `typename` and the name of it // template <typename Name> template <typename Name> void MyFirstTemplate() { }

Nun lassen wir sie etwas tun, zum Beispiel eine Nachricht ausgeben. Rufen Sie sie in der Hauptfunktion auf, um sie in Aktion zu sehen.

main.cpp

main.cpp

123456789101112
#include <iostream> template<typename Name> void MyFirstTemplate() { std::cout << "c<>definity" << std::endl; } int main() { MyFirstTemplate(); }

Wie Sie sehen, tritt ein Fehler auf, wenn Sie versuchen, sie wie eine normale Funktion aufzurufen. Dies geschieht, weil es nicht mehr nur eine einfache Funktion ist. An dieser Stelle wird der im spitzen Klammern nach dem Schlüsselwort template angegebene Template-Parameter entscheidend.

main.cpp

main.cpp

12345678910111213
#include <iostream> // This essentioally creates an alias for a type you will use template<typename Name> // In this case the name of the type is Name void MyFirstTemplate() { std::cout << "c<>definity" << std::endl; } int main() { // In order to call the template function properly // You need to specify any type inside the brackets MyFirstTemplate<void>(); // This tells the template to use void as the type for Name }
Note
Hinweis

Für dieses Beispiel spielt es keine Rolle, welchen Typ Sie angeben, daher können Sie void durch jeden gewünschten Typ ersetzen. Die Angabe des Typs ist jedoch zwingend erforderlich.

Für die Funktionsvorlage MyFirstTemplate ist es nicht notwendig, einen Namen für den Typ-Parameter anzugeben. Sie können Name entfernen und alles funktioniert weiterhin, da der Typ-Parameter innerhalb der Funktion nicht verwendet wird.

question mark

Was ist die korrekte Syntax zur Deklaration einer Template-Funktion?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 2

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 2
some-alt