Anonymní profil jerry – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil jerry – Programujte.comAnonymní profil jerry – Programujte.com

 

Příspěvky odeslané z IP adresy 2a00:1028:83be:235a:ede4:866d:fff6:847c...–

jerry
C / C++ › C++ šablony
26. 11. 2018   #382430

#2 KIIV
když ještě neexistovaly Templates a Generics někde na konci 80. let v C++ tak si dělal třeba tohle:

single secti(single a, single b){ return a+b }

double secti(double a, double b){ return a+b }

je to blbej příklad ale názornej... no a pak někoho napadlo že se napíše

T secti(T a, T b){ return a+b}  a typ T se určí dynamicky až v době běhu programu neboli při výpočtu...takže ti stačilo napsat jenom jednu funkci/objekt atd... nevýhoda byla že teplate musí bejt CELEJ napsanej v .h souboru a to je blbý a taky ho kompilátor přeloží tak, že pro každej "problém" udělá v paměti jednu kopii - to je týká hlavně objektů, a tak eště lidi vymysleli Generic a ten se dá deklarovat/definovat jak v .h tak i v .cpp souborech a navíc se používá jen jedna kopie v paměti, která řídí vše  - teda ono je to složitější ale tak nějak pro začátek ti to stačí :) Teplates používej až se pořádně naučíš programovat :), některý problémy se bohužel nedají už dnes řešit jinak než pomocí teplates a navíc existují problémy, které nejdou napsat jinak než kombinací Templates a Generics.... je to docela složitý na hlavu obzvlášť ve vlkejch projektech a proto se obojí používá spíše v knihovních procedurách ...

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý