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