Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Załóżmy, że mamy szablon:
template <typedef Typ> void funkcja(Typ t);
oraz jego specjalizację, np. dla double:
template <> void funkcja<double>(double t);
Moje pytanie: po co w ogóle powstała idea specjalizacji szablonu? Przecież prościej jest dopisać zwykłą deklarację funkcji:
void funkcja(double t);
I na to samo wychodzi. Czegoś nie dostrzegam w tej koncepcji?
A przy okazji może ktoś mógłby mi polecić dobre forum nt. C++ gdzie mógłbym zadawać tego typu pytania. Gdzie się bywa w tych tematach? :)
Ostatnio edytowany przez dowoszek (2013-04-06 19:06:03)
Offline
Powiedzmy tak załóżmy, że dana funkcja/metoda ma robić ta samo dla wielu typów w dodatku posłużę się głupim przykładem dodawania gdybyś czysto hipotetycznie chciał napisać funkcję dodającą dla każdego typu musiałbyś ją zdeklarować oddzielnie. Co zaśmieca tylko kod bo tak naprawdę te funkcje nie wnoszą nic nowego. Szablon daje Ci elastyczność jednorazowo zdeklarowana funkcja zadziała dla każdego typu oczywiście w granicach rozsądku :)
Offline
Miziak, do czego służą szablony to ja wiem, ale nie takie było moje pytanie :) Temat już niekatualny, bo uzyskałem odpowiedź; dla zainteresowanych:
http://forum.4programmers.net/C_i_C++/141740-specja … nicja_funkcji
Offline
Strony: 1