Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Nicht-Typ-Template-Parameter | Verwendung von Templates
C++-Vorlagen
course content

Kursinhalt

C++-Vorlagen

C++-Vorlagen

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

book
Nicht-Typ-Template-Parameter

Beim Definieren einer Vorlage können wir nicht nur Typen angeben, sondern auch Werte an diese Typen übergeben. Das bedeutet, dass wir Vorlagen erstellen können, die sich je nach den bereitgestellten Werten unterschiedlich verhalten, aber darauf werden wir später noch zurückkommen.

cpp

main

copy
123456789101112
#include <iostream> // Non-type parameter means we won't use typename // Instead you can use an actual type for it template<int N> void PrintValue() { std::cout << N << std::endl; } int main() { // Call the template function with a literal integer PrintValue<5>(); // 5 }

Der Hauptvorteil dieses Ansatzes besteht darin, dass alle Berechnungen zur Kompilierzeit durchgeführt werden, was seine Verwendung in der Metaprogrammierung ermöglicht.

cpp

main

copy
1234567891011
#include <iostream> // Template function to calculate the square of a non-type parameter I template<int I> int Square() { return I * I; } // Return the square of I int main() { // The result of Square<5>() is computed at compile time int b = Square<5>(); // b will be initialized to 25 }

Wenn Sie das kompilierte Programm ausführen, wird der Wert von b bereits 25 sein. Die Berechnung wird zur Kompilierzeit durchgeführt, was zu null Laufzeitoperationen führt.

Aufgabe

Swipe to start coding

Vervollständigen Sie die Vorlagenfunktion und finden Sie die Summe der Variablen options und operations.

  1. Vervollständigen Sie die Vorlagenfunktion.
  2. Ändern Sie den Typ der Variablen options und operations, um sie als Vorlagenparameter übergeben zu können.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
toggle bottom row

book
Nicht-Typ-Template-Parameter

Beim Definieren einer Vorlage können wir nicht nur Typen angeben, sondern auch Werte an diese Typen übergeben. Das bedeutet, dass wir Vorlagen erstellen können, die sich je nach den bereitgestellten Werten unterschiedlich verhalten, aber darauf werden wir später noch zurückkommen.

cpp

main

copy
123456789101112
#include <iostream> // Non-type parameter means we won't use typename // Instead you can use an actual type for it template<int N> void PrintValue() { std::cout << N << std::endl; } int main() { // Call the template function with a literal integer PrintValue<5>(); // 5 }

Der Hauptvorteil dieses Ansatzes besteht darin, dass alle Berechnungen zur Kompilierzeit durchgeführt werden, was seine Verwendung in der Metaprogrammierung ermöglicht.

cpp

main

copy
1234567891011
#include <iostream> // Template function to calculate the square of a non-type parameter I template<int I> int Square() { return I * I; } // Return the square of I int main() { // The result of Square<5>() is computed at compile time int b = Square<5>(); // b will be initialized to 25 }

Wenn Sie das kompilierte Programm ausführen, wird der Wert von b bereits 25 sein. Die Berechnung wird zur Kompilierzeit durchgeführt, was zu null Laufzeitoperationen führt.

Aufgabe

Swipe to start coding

Vervollständigen Sie die Vorlagenfunktion und finden Sie die Summe der Variablen options und operations.

  1. Vervollständigen Sie die Vorlagenfunktion.
  2. Ändern Sie den Typ der Variablen options und operations, um sie als Vorlagenparameter übergeben zu können.

Lösung

cpp

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt