[ filmil @ 07.12.2004. 23:36 ] @
Slučajno nađoh ovaj članak koji pokazuje kako se od C++ šablona može napraviti Tjuringova mašina!

Posledice su vrlo vesele, a IMHO najbolja od njih je:

Citat:
In the absence of instantiation limits, whether a C++ compiler will halt when compiling a given program is undecidable.


f
[ Dragi Tata @ 08.12.2004. 00:37 ] @
O, da. Template metaprogramming je poznata i zabavna disciplina. Pogledaj recimo Boost MPL. A za lagani uvod u sve to preporučujem A gentle introduction to Template Metaprogramming with C++
[ filmil @ 08.12.2004. 00:53 ] @
Citat:
Template metaprogramming je poznata i zabavna disciplina.
I zapanjujuće nalik 110m sa preponama. :)

f
[ Goran Arandjelovic @ 02.02.2007. 22:48 ] @
Ja se stvarno izvinjavam što pokrećem ovu temu nakon dve godine, ali gde se može naći literatura o metaprogramiranju koja bi ujedno mogla sadržati i primere primena u nekim pattern-ima?

I da, ovo jeste mnogo dobro..:)
[ tupito @ 07.02.2007. 15:51 ] @
pa imas dobro poznatu knjigu Andrei Alexandrescu's "Modern C++ Design: Generic Programming and Design Patterns Applied", a tu ti je i Boost.MPL biblioteka ima solidnu dokumentaciju i dosta primera.
[ Dragi Tata @ 07.02.2007. 16:25 ] @
Alexandrescu se u stvari malo bavi MPL-om kao takvim. Imaš ovo (mada previše fokusirano na Boost.MPL): http://www.boost-consulting.com/mplbook/

a i ovde imaš lepo poglavlje o MPL-u: http://www.josuttis.com/tmplbook/
[ tupito @ 07.02.2007. 22:46 ] @
Ovo sam se ja svojevremeno nesto zezao sa MPL-om, ideja da biblioteka omogucava upisivanje SQL sintakse direktno u C++ kod gde bi metaprogram proveravao ispravnost SQL sintakse u kompjl vremenu, nesto mi je i uspelo da profunkcionise.