Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundsyntax von Templates in C++ | 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
Grundsyntax von Templates in C++

Ein Template zu erstellen ist tatsächlich ganz einfach, und es ist einer der einfachsten Teile der Nutzung. Um zu beginnen, müssen Sie entweder eine Funktion oder eine Klasse erstellen. Wir beginnen mit der Funktion.

cpp

main

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

Wie Sie sehen können, gibt es eine sehr einfache Funktion, die momentan nichts tut. Wir können sie leicht innerhalb der main Funktion aufrufen. Ihre Aufgabe ist es nun, sie in ein Template zu verwandeln.

h

template

copy
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 Sie es etwas tun, wie zum Beispiel eine Nachricht ausgeben. Rufen Sie es in der Hauptfunktion auf, um es in Aktion zu sehen.

cpp

main

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

Wie Sie sehen können, tritt ein Fehler auf, wenn wir versuchen, es aufzurufen, als wäre es eine einfache Funktion. Dies liegt daran, dass es nicht mehr nur eine einfache Funktion ist. Hier kommt der Template-Parameter ins Spiel, der in den Klammern nach dem Schlüsselwort template angegeben wird.

cpp

main

copy
12345678910111213
#include <iostream> // This essentioally creates an alias for a type we will use template<typename Name> // In our 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 // We need to specify any type inside the brackets MyFirstTemplate<void>(); // This tells the template to use void as the type for Name }

Hinweis

Es spielt keine Rolle, welchen Typ Sie für dieses Beispiel angeben, daher können Sie void in jeden beliebigen Typ ändern. Das Angeben des Typs ist jedoch obligatorisch.

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

Was ist die korrekte Syntax zum Deklarieren einer Template-Funktion?

Was ist die korrekte Syntax zum Deklarieren 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
We're sorry to hear that something went wrong. What happened?
some-alt