top

Vortrag: "The Fabulous World of C++ Templates"

wann: Do. 26.4.2007, 16:15
ohne Anmeldung, einfach kommen :)
wo: department of computer science, Universität Salzburg
Jakob-Haringer-Straße 2, HS T02
abstract:

Nach der Einführung von templates in C++ wurden sie oft als uninspirierte Nachfahren von macros* gesehen. 1994 wurden durch Zufall während eines C++ standard committee meetings in San Diego die Möglichkeiten des template-meta-programmings (TMP) durch Erwin Unruh entdeckt. Damit wurde die Tür in eine neue Welt der software-Entwicklung geöffnet, die in dieser Form nur in C++ zur Verfügung steht. Unter TMP versteht man rekursive Programme, die während der compile-Zeit mit Typen rechnen, und vor dem Ende der compile-Zeit terminieren.

Im ersten Teil des Vortrags werden run-time und compile-time Programmierung (TMP) anhand eines einfachen Beispiels einander gegenübergestellt. Anschließend werden zwei praktische Beispiele präsentiert, wie man templates effektiv in der software-Entwicklung einsetzen kann. Am Ende wird das Prinzip des SFINAE vorgestellt, das in der TMP immer wieder angewendet wird.

Eine fundierte Kenntnis von C++ und keine Angst vor spitzen Klammern <> sind sicher hilfreich für das Verständis.

*Präprozessor-macros haben ihren schlechten Ruf durch die armseligen Anwendungen die in unzähligen code-Basen maintainern den letzten Nerv ziehen. Es spricht allerdings nichts dagegen macros mit Esprit zu schreiben und in dieser Form finden sie ihre Anwendung in der TMP - vgl. boost.