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

book
Erstellen Ihrer Ersten Vorlage in C++

Lassen Sie uns sehen, was passiert, wenn wir verschiedene Typen für das Template angeben. Dafür verwenden wir typeid().name(), es zeigt einfach den Datentyp der Variablen an. Schauen Sie sich das folgende Beispiel an:

main.cpp

main.cpp

copy
#include <iostream>

int main()
{
int x = 5;
std::cout << typeid(x).name();
}
1234567
#include <iostream> int main() { int x = 5; std::cout << typeid(x).name(); }

Hinweis

Der obige Codeausschnitt zeigt einfach i in der Konsole an, was symbolisiert, dass x ein int ist.

Lassen Sie uns eine Vorlage mit <typename Type> erstellen und Type als Parameter an die Funktion übergeben, anstatt eine spezifische Variable anzugeben.

main.cpp

main.cpp

copy
#include <iostream>

template<typename Type>
void check_type()
{
std::cout << typeid(Type).name() << std::endl;
}

int main()
{
// Try to change `int` to different type
check_type<int>();
}
12345678910111213
#include <iostream> template<typename Type> void check_type() { std::cout << typeid(Type).name() << std::endl; } int main() { // Try to change `int` to different type check_type<int>(); }

Wie Sie sehen können, wenn Sie die Vorlagenfunktion aufrufen und einen Typ innerhalb der Klammern angeben, erhält der typename-Parameter diesen Typ. Der Name des Vorlagenparameters wird im Wesentlichen zu einem Alias für diesen Typ.

Aufgabe

Swipe to start coding

  1. Wandeln Sie die Funktion swap in eine Template-Funktion um:
    1. Definieren Sie template mit dem Schlüsselwort template;
    2. Fügen Sie die Liste der Template-Parameter hinzu;
    3. Fügen Sie einen Parameter für das Template hinzu.
  2. Ändern Sie alle Typen (int) in den typename aus dem Template-Parameter.
  3. Rufen Sie die Template-Funktion auf und übergeben Sie char als Typ, um zwei Variablen in der main-Funktion zu vertauschen.

Sobald Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die Schaltfläche unter dem Code, um Ihre Lösung zu überprüfen.

Lösung

solution.cpp

solution.cpp

#include <iostream>

template <typename Type>
void swap(Type &a, Type &b) {
Type temp = a; // Store a in temp
a = b; // Assign b to a
b = temp; // Assign temp (original a) to b
}

int main()
{
char digit = '3';
char letter = 'a';
swap<char>(digit, letter);
}

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 3
single

single

#include <iostream>

void swap(int &a, int &b) {
int temp = a; // Store a in temp
a = b; // Assign b to a
b = temp; // Assign temp (original a) to b
}

int main()
{
char digit = '3';
char letter = 'a';
swap<___>(digit, letter);
}

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

We use cookies to make your experience better!
some-alt