Jakie są przykłady w których można użyć go i dobrze się sprawdzi? Macie jakieś historie gdzie użyliście i faktycznie dobrze działało?
Dla mnie to pytanie w stylu: użyliście kiedyś funkcji
i faktycznie dobrze działało ?
Generyki, czy tam templaty to podstawa polimorfizmu (w ogólności, a nie tego jednego rodzaju poliformizmu (Subtyping), który jest tłuczony na OOP) - czyli pisania kodu, tak żeby dało się wielokrotnie użyć - dla różnych typów danych. W języku ze statycznymi typami trudno bez tego żyć.
Faktycznie, to co można zrobić w templatach da się zwykle zrobić alternatywnie przy pomocy subtype, ale zwykle tracimy wtedy dokładne typy i skazujemy się na downcasting
- strasznie smutne.
@jarekr000000: czy podałbyś przykład użycia template w c++ gdzie faktycznie ich użycie względem dziedziczenia ma sens?
Dla mnie to pytanie w stylu: użyliście kiedyś funkcji i faktycznie dobrze działało ?
Szczerze, przyznam się bez bicia, że ciężko mi wymyślić inne miejsce dla szablonów poza kontenerami typu vector. Pewnie za dużo CRUDzenia mam na co dzień, stąd nie przychodzi mi do głowy coś innego, więc z chęcią podbiję to pytanie - gdzie zastosowaliście szablony, że dobrze to zadziałało?
No i jeżeli faktycznie jest tak, że tłuką tylko dziedziczeniu, to jak się z niego wyleczyć, żeby nabrać wprawy, kiedy użyć szablonów, żeby nie pourywało rąk.
@BartoSAS: zgodzę się z Twoją odpowiedzią, brakuje mi dobrego przykładu w którym użycie template miałby sens, może jeszcze za mało kodu napisałem.
Dobry przykład z filtrami podał @_13th_Dragon jednak poza nim nie zauważam dobrego zastosowania dla template. Przeczytałem w książce o C++ o zastosowaniu tej funkcji języka i nie rozumiem kiedy jej używać a kiedy po prostu dziedziczenia.