single
Ensimmäisen Mallin Luominen C++:ssa
Pyyhkäise näyttääksesi valikon
Tarkastellaan, mitä tapahtuu, kun määrität eri tyyppejä mallille. Tätä varten käytät typeid().name(), joka yksinkertaisesti näyttää muuttujan tietotyypin. Katso alla olevaa esimerkkiä:
main.cpp
1234567#include <iostream> int main() { int x = 5; std::cout << typeid(x).name(); }
Yllä oleva koodiesimerkki näyttää konsolissa vain i, mikä tarkoittaa, että x on int.
Luodaan malli käyttämällä <typename Type> ja välitetään Type parametrina funktiolle sen sijaan, että määriteltäisiin tietty muuttuja.
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>(); }
Kuten huomaat, kun kutsut mallifunktiota ja määrität tyypin hakasulkeissa, typename-parametri saa kyseisen tyypin. Malliparametrin nimi toimii käytännössä kyseisen tyypin aliaksena.
Voit myös käyttää tätä malliparametria funktion rungossa määritelläksesi muuttujia juuri sillä tyypillä.
main.cpp
12345678template<typename Type> void create_variable() { Type value; // Variable of the template type value = Type(); // Default initialization std::cout << value << std::endl; }
Pyyhkäise aloittaaksesi koodauksen
- Muunna
swap-funktio template-funktioksi:- määrittele template käyttämällä
template-avainsanaa; - lisää template-parametrien lista;
- lisää yksi parametri templatea varten.
- määrittele template käyttämällä
- Vaihda kaikki tyypit (
int) template-parametrintypename-määrittelyyn. - Kutsu template-funktiota ja anna tyypiksi
char, vaihtaen kahden muuttujan arvotmain-funktiossa.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme