vtable



  • Hallo,

    soweit habe ich Sinn und Zweck der vtable verstanden.
    Nun habe gehört, es gibt Frameworks und Libraries, die die vtable "manipulieren".

    Aus welchem Grund, sollte man so etwas tun?
    Das erschließt sich mir nicht so ganz.

    Danke für sinnvolle Antworten

    PS:Code-Schnipsel willkommen



  • für persistenz ohne serialisierung.



  • volkard schrieb:

    für persistenz ohne serialisierung.

    Wie meinst du das?



  • So was ist natürlich immer eine böse und unportable Sache. Aber man kann damit Metaprogrammierung zur Laufzeit (auch Reflections genannt) ermöglichen.



  • asdasd schrieb:

    volkard schrieb:

    für persistenz ohne serialisierung.

    Wie meinst du das?

    Objekt-Instanzen über fwrite/fread schreiben/lesen, und dann den vtable Pointer nach dem Lesen wieder "reparieren" *schauder*
    (der vtable Pointer der selben Klasse könnte nämlich beim nächsten Programmstart einen anderen Wert haben)
    Dabei wird zwar nicht am vtable selbst rumgefummelt, aber der vtable Pointer verbogen.

    Würde ich aber in die Kategorie "plem" einstufen.

    Allgemein würde ich so ziemlich alles was am vtable rumfummelt in die Kategorie "plem" einstufen.


Log in to reply