Wie funktionieren Templates?



  • Kennt jemand nen Link, wo die Internals von Templates erklärt werden?
    Also, wie das ganze intern funktioniert. Was ein Template ist weiß ich nämlich, mich interessiert die 'technische' Umsetzung.



  • in wie fern? Wie soll das schon technisch gelöst sein? Zur Compilerzeit
    werden Templates durch die jeweiligen Typen ersetzt und dann ist es eine
    ganz normale Klasse. Nur einmal mit z.B. int und einmal mit char als member.



  • Naja .... ich denke die ganze Kiste mit z.B. namelookup/Abhängigkeiten und auch die Instantiierung ist schon ein wenig komplizierter.

    Ob da aber irgendein Compilerhersteller offenlegt, wie er das intern löst, weiß ich nicht (ich würd's aber sowieso nicht verstehen).

    Vielleicht sich mal die Sourcen zum g++ ansehen ?

    Gruß,

    Simon2.



  • template n00b schrieb:

    Kennt jemand nen Link, wo die Internals von Templates erklärt werden?
    Also, wie das ganze intern funktioniert. Was ein Template ist weiß ich nämlich, mich interessiert die 'technische' Umsetzung.

    Wie Simon bereits gesagt hat, ist das Compiler Abhängig. Und somit nicht überall gleich. Und dafür müsste man, wenn überhaupt in der Dokumentation des Compilers was finden.



  • also was man an "interna" über templates allgemein sagen kann ist gesagt worden von Josuttis/Vandervoorde: http://www.josuttis.com/tmplbook/ das Buch lohnt sich auf jeden Fall, man kriegt einen guten Einblick darüber was geht und was nicht und auch wie es funktioniert, zumindest laut Standard, wie immer kann man sich nie ganz drauf verlassen dass ein einzelner Compiler auch das allerletzte i-Tüpfelchen implementiert hat. Auch später eignet sich das Buch gut als Nachschlagewerk zu template-Themen.


Anmelden zum Antworten