Function-to-pointer auf virtuelle/vererbte klassen und noch sehr schnell ?
-
Hi alle.
Folgendes scenario:
Es gibt eine Basis klasse (nennen wir sie malBals Basis), die pure-virtual ist. (beinhaltetmyfunc()NICHT)
Es gibt zwei Klassen, und deren instanzen, die vonBbasieren. (nennen wir sieXundY).
Jede Klasse aufBbasierend hat eine methode zum zurückgeben aller funktionen der klasse, alsogetfuncs();
Yhat eine funktionmyfunc(), dieXaufrufen will.(die klassen sollen dynamisch sein (DLLs), und der ganze inhalt ist nur compilier-zeit von den klassen nicht bekannt. -> Polymorphismus)
->
Xholt sich den Functions pointer mitY->getfuncs()und sucht sichmyfunc()aus der liste aus.
->Xspeichert den functions pointer wirgendwo ab.
->Xwillmyfunc()von Y aufrufen.
[ Es wird natürlich viel mehr funktionen inX/Ygeben ]Die aufrufe sollten ziemlich schnell sein, da manche funktionen wirklich oft pro sekunde aufgerufen werden.
Jede Klasse auf B basierend, hat einen "Linker" (ich weis ihr werdet wollen das ich was anderen wähle, aber ich habe auch schon 'schlimmere' begriffe verwendet
). Der Linker ist dazu da, den Klassen den austausch von functionen und aufrufen zu ermöglichen. Die Links müssten irgendwo da sein, und möglichst einfaches aufrufen ermöglichen (also so wie normale funktionen
?)Wie wäre so etwas möglich? Bitte bitte beispiel-code :p
-
Also ich wollte eigentlich nur etwas guten beispielcode, da im internet für genau das, was ich machen will nix ist / kann nix finden...
-
Ich glaube nicht, dass dir jemand die Arbeit abnhemen wird, ohne dass du auch nur die geringste Vorarbeit geleistet hast.
Für mich klingt das so: "Macht meine Arbeit, bitte!"
-
Bring besser mal ein wenig Code wie du dir das genau vorstellst und wo genau das Problem auftritt, was du nicht hin kriegst.