Szablony
Kurs C++ · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
Szablon pozwala tworzyć kod działający z różnymi typami.
Jak to działa?
template<typename T> wprowadza parametr typu. Kompilator przygotowuje odpowiednią wersję funkcji na podstawie użytych argumentów.
Przykład 1 — poznaj zapis
template<typename T>
T maxValue(T a, T b) {
return a > b ? a : b;
}
// std::cout << maxValue(3, 7);
Szablon zadziała dla typów wspierających operator >.
Przeczytaj kod linijka po linijce
T maxValue(T a, T b) {Definiujemy funkcję lub metodę, której można użyć później.return a > b ? a : b;Zwracamy wyliczoną wartość do miejsca wywołania funkcji.
7 (po wywołaniu maxValue(3, 7))
Przykład 2 — podobny problem, inne dane
Teraz przyjrzyj się drugiemu przykładowi. Zwróć uwagę na to, co zmieniło się w kodzie, a co w wyniku. Spróbuj przewidzieć rezultat przed przeczytaniem odpowiedzi.
template <typename T> T twice(T x) { return x + x; }
// main: std::cout << twice(4);
8 (po wywołaniu w main)
Wróć do pierwszego przykładu, zmień jedną wartość i spróbuj samodzielnie przewidzieć wynik. Następnie uruchom kod i porównaj rezultat. W ten sposób nauczysz się nie tylko przepisywać instrukcje, ale rozumieć ich działanie.
Spróbuj samodzielnie
Przygotuj szablon minValue.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.