Генеричко програмирање

Појам генеричког програмирања: параметризоване структуре података и алгоритми. Генеричко програмирање на језику C++: темплејти функција, преклапање (оверлоад) генеричких функција, темплејти класа, специјализација темплејта класа (делимична и потпуна). Статички полиморфизам: предности, недостаци и комбиновање са динамичким. Појам темплејт мета-програмирања: историја,  облик функционалног програмирања,  извршавање дела алгоритма у време превођења,  предности и недостаци, рекурзија и гранање, напредне могућности (темплејт параметри, темплејти са променљивим бројем параметара). Механизам избора најбоље алтернативе међу више функција истог имена (overload resolution). Тачка прилагођавања (point of customization) у генеричком алгоритму. Primeне: стандардна библиотека (STL, touple, initializer_list), одређивање и провера типова, израчунавање и провера вредности доступних у време превођења, оптимизација кода, policy based design.

2980-genericko-programiranje