Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oprettelse af Din Første Template i C++ | Oprettelse af Første Skabelon
C++ Templates
Sektion 1. Kapitel 3
single

single

Oprettelse af Din Første Template i C++

Stryg for at vise menuen

Lad os se, hvad der sker, når du angiver forskellige typer for skabelonen. Til dette vil du bruge typeid().name(), som blot viser datatypen for variablen. Se eksemplet nedenfor:

main.cpp

main.cpp

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

Kodeeksemplet ovenfor vil blot vise i i konsollen, hvilket symboliserer, at x er en int.

Oprettelse af en skabelon ved hjælp af <typename Type> og brug af Type som parameter til funktionen i stedet for at angive en specifik variabel.

main.cpp

main.cpp

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>(); }

Som det kan ses, når skabelonfunktionen kaldes og en type angives i klammerne, modtager typename-parameteren denne type. Navnet på skabelonparameteren fungerer i praksis som et alias for denne type.

Denne skabelonparameter kan også bruges inde i funktionskroppen til at erklære variabler af netop denne type.

main.cpp

main.cpp

12345678
template<typename Type> void create_variable() { Type value; // Variable of the template type value = Type(); // Default initialization std::cout << value << std::endl; }
Opgave

Swipe to start coding

  • Omdan swap-funktionen til en template-funktion:
    • definer template ved hjælp af nøgleordet template;
    • tilføj listen af template-parametre;
    • tilføj én parameter til template.
  • Udskift alle typer (int) med typename fra template-parameteren.
  • Kald template-funktionen og angiv char som typen, så to variabler byttes i main-funktionen.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 3
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt