#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 ...