Suchergebnisse für Anfrage "vtable"

4 die antwort

C ++: Zugreifen auf virtuelle Methoden

1 die antwort

ibt es eine Möglichkeit, das Klassenlayout eines mit g ++ kompilierten Programms zu sicher

Wenn mit g ++ kompiliert wird, exportiert -fdump-class-hierarchy die vtables des Programms in ein (mehr oder weniger) lesbares Format. Die resultierende Datei enthält jedoch nur Informationen zur vtable, abernich über das Klassenlayout. Ich ...

4 die antwort

Virtuelle Funktionseffizienz und das 'letzte' Schlüsselwort

Betrachten Sie ein Programm mit einer KlasseFoo enthält eine FunktionFoo::fn wie folgt deklariert: virtual void fn();und eine Unterklasse vonFoo namensBar. Wird @ deklarierBar::fn so was virtual void fn() override final;cause Anrufe anfn imBar ...

TOP-Veröffentlichungen

6 die antwort

Details zur Implementierung des virtuellen Versands

Zunächst möchte ich klar machen, dassch verstehe, dass es im C ++ - Standard keine Vorstellung von vtables und vptrs gib. Ich denke jedoch, dass praktisch alle Implementierungen den virtuellen Versandmechanismus auf die gleiche ...

2 die antwort

Warum ist vptr nicht statisch?

3 die antwort

asm.js - Wie sollen Funktionszeiger implementiert werden?

0 die antwort

COM-Methodenoffsets in Delphi

ie finde ich in Delphi die Adresse einer COM-Methode heraus? Ich kann die Offsets fest codieren //0 is the offset of the QueryInterface method p := TPonterArray(pointer(SomeInterface)^)[0]; aber ich würde lieber symbolische Namen verwenden. ...

4 die antwort

Wie viele vptr hat ein Objekt der Klasse (verwendet Einfach- / Mehrfachvererbung)?

Wie viele vptrs werden normalerweise für ein Objekt benötigt, dessen clas (child) eine einzelne Vererbung mit einer Basisklasse hat, die mehrere base1 und base2 erbt. Mit welcher Strategie kann ermittelt werden, wie viele vptrs ein Objekt ...

8 die antwort

Wie werden vtables in c ++ und c # implementiert?

Lässt diese Situation haben (in c ++ sind in c # Klassen A, B Schnittstellen): class A { virtual void func() = 0; }; class B { virtual void func() = 0; }; class X: public A, public B { virtual void func(){ var = 1; } int var;}; X * x = new X; // ...

3 die antwort

Virtuelle Methodentabellen

Bei der Diskussion versiegelter Klassen wird häufig der Begriff "virtuelle Funktionstabelle" verwendet. Was ist das genau? Ich habe vor einiger Zeit über eine Methodentabelle gelesen (ich erinnere mich auch nicht an den Zweck des Zwecks) und eine ...