Programmieren bedeutet Programme schreiben, Metaprogrammieren bedeutet Programme schreiben zu lassen. Aber nicht von einer anderen Person, sondern von der Sprache, die man selbst zum programmieren benutzt.

In diesem Vortrag will ich genauer erklären, was man unter Metaprogrammierung versteht, warum man sowas tut, und vor allem: wie man es tut. Im besonderen werde ich dabei auf C++ eingehen, weil C++ eines der am besten erforschten Templatesysteme hat. Templatesysteme in anderen Sprachen funktionieren meist ähnlich.

Nicht betrachtet werden hier Textersetzungssysteme wie der C-Präprozessor, auch wenn diese genau so mächtig sind wie die Templatesysteme, um die es hier eigentlich geht.

Als Beispiel für die Mächtigkeit des C++-Templatesystems betrachten wir einen Brainfuckinterpreter, der nur aus Templates besteht.

Texfile und Codebeispiele

vortrag/metaprogramming.txt · Zuletzt geändert: 14.01.2013 15:56 von 127.0.0.1
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Driven by DokuWiki