🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #352

Re: Q: Adresse einer Methode

#352
From: Reinhard Pfau
Date: Fri, 01 Sep 1995 07:32
44 lines
2659 bytes
Wolfgang Muees (wolfgang@wmsickte.escape.de) wrote:
: Hallo Reinhard,
[ DEL: Prob.: Adresse einer Memberfkt. & Frage, wozu ]
: > Wozu das gut sein soll?? Na, zum Bleistift fuer Callbacks!!
[ DEL: Beispiel, wo ich das schon benutzt habe ]

: Und warum - in 3 Teufels Namen - nimmst Du nicht eine statische
: Memberfunktion, die |ber einen abgespeicherten Zeiger auf die
: virtuelle Member-Funktion der Unterklasse zugreift? Das ist doch
: im Endeffekt genau dasselbe, nur ohne Krampf. Merken mu_t Du Dir
: den Zeiger auf das Objekt sowieso.

Hmm, ein LowLevel-Netzanalysetool oder Programme, die Netzdaten auf 
OSI-Ebene (ca.) 3 bearbeiten, hast du wohl noch nie programmiert??

Natuerlich kann ich in meine Basisklasse eine statische Memberfkt aufnehmen,
die als Callback dient. Nur muesste diese in meinen Fall eine Liste ver-
walten, die Paare von Zeigern enthaelt: Zeiger auf ECB und Zeiger auf die
Instanz, damit aus dem ECB-Zeiger (den meine Callback-Fkt als Parameter
bekommt) den Zeiger auf die Instanz bekommen kann. Das Durchsuchen einer
solchen Liste kostet aber Zeit; und da der Callback aus einer Interrupt-
routine erfolgt, habe ich die in meinem Fall nicht. Es ist halt wesentlich
schneller, den Callback _direkt_ zur richtigen Instanz umzuleiten. (Dort
muss ich zwar auch eine ECB-Liste fuehren, da mehrere Callbacks ausstehen
koennen, aber diese ist wesentlich kleiner und kann als array ausgefuehrt
sein, da man i.a. die benoetigte Groesse fuer eine bestimmte Instanz 
abschaetzen kann. In meiner Basisklasse wuesste ich nicht, wieviele
Instanzen wieviele Callbacks gleichzeitig ausstehen haben koennen.)

: > Ich hoffe, ich konnte dir ein Bild davon vermitteln, das es in der
: > Praxis doch Faelle gibt, wo man die Adresse einen Memberfunktion braucht.
: >
: Nein.
Evtl. jetzt..???  *hoff*

: >   mfg  Reinhard.
: MFG
: Wolfgang
 Reinhard.
--
 /-- Reinhard Pfau --- (ED-Pfau) --------------------------------------------\
| eMail: gz342@appl2.hrz.uni-siegen.de  |  IRC: Mubo  | no home-page         |
+----------------------------------------------------------------------------+
| In 1995, Win95 will work with bugs; but in 1996 it will not work at all!!  |
Technical Details
Message-ID: <426ctr$5mj@si-nic.hrz.uni-siegen.de>
Path: arc1-ca.pugleaf.net!appl2.hrz.uni-siegen.de!gz342
References: <41ibde$pnu@hades.rz.uni-sb.de> <5spjy8DTpZB@wmsickte.escape.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!appl2.hrz.uni-siegen.de!gz342
From: gz342@appl2.hrz.uni-siegen.de (Reinhard Pfau)
Newsgroups: de.comp.lang.c++
Subject: Re: Q: Adresse einer Methode
Date: 1 Sep 1995 07:32:11 GMT
Organization: HRZ, UNI/GHS Siegen
Message-ID: <426ctr$5mj@si-nic.hrz.uni-siegen.de>
References: <41ibde$pnu@hades.rz.uni-sb.de> <5spjy8DTpZB@wmsickte.escape.de>
NNTP-Posting-Host: appl2.hrz.uni-siegen.de
X-Newsreader: TIN [version 1.2 PL2]