single
Je Eerste Template Maken in C++
Veeg om het menu te tonen
Laten we bekijken wat er gebeurt wanneer je verschillende typen voor de template opgeeft. Hiervoor gebruik je typeid().name(), waarmee eenvoudig het gegevenstype van de variabele wordt weergegeven. Bekijk het onderstaande voorbeeld:
main.cpp
1234567#include <iostream> int main() { int x = 5; std::cout << typeid(x).name(); }
De bovenstaande code toont in de console alleen i, wat aangeeft dat x een int is.
Een template maken met <typename Type> en Type als parameter aan de functie doorgeven in plaats van een specifiek variabel type op te geven.
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>(); }
Zoals te zien is, wanneer de templatefunctie wordt aangeroepen en een type binnen de haakjes wordt opgegeven, ontvangt de typename parameter dat type. De naam van de templateparameter wordt in feite een alias voor dat type.
Deze templateparameter kan ook binnen de functie worden gebruikt om variabelen van dat exacte type te declareren.
main.cpp
12345678template<typename Type> void create_variable() { Type value; // Variable of the template type value = Type(); // Default initialization std::cout << value << std::endl; }
Veeg om te beginnen met coderen
- Zet de
swap-functie om in een templatefunctie:- definieer template met behulp van het sleutelwoord
template; - voeg de lijst met templateparameters toe;
- voeg één parameter toe voor de template.
- definieer template met behulp van het sleutelwoord
- Vervang alle types (
int) door detypenameuit de templateparameter. - Roep de templatefunctie aan en geef
charals type door, waarbij twee variabelen in demain-functie worden verwisseld.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.