🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Aufrufer einer Methode feststellen?

#244
From: Martin Cracauer
Date: Thu, 10 Aug 1995 13:53
32 lines
1885 bytes
warda@veronica.informatik.uni-dortmund.de (Armin M. Warda) writes:

>Muss ich tatsaechlich den 'this'-Zeiger des Aufrufers
>explizit uebergeben? Gibt es sowas wie einen impliziten 
>'caller'-Zeiger (analog zum 'this'-Zeiger) bzw. eine 
>einfache Moeglichkeit, sowas zu implementieren?

Du musst. So was kann nicht mal CLOS :-)

>Die benoetigte Information muesste ja eigentlich auf dem 
>Stack vorhanden sein, ein Debugger (beispielsweise GDB)
>hat ja auch keine Probleme, die Stack-Frames hoch- ('UP')
>und runterzulaufen ('DOWN'), um dann auf die jeweiligen 
>'this'-Zeiger zuzugreifen.

Schon, aber das ist portabel nicht zu machen. Der gcc hat einige
"Meta"-Erweiterungen, mit denen Informationen dieser Art
bereitgestellt werden (z.B. den Namen der aktuellen Funktion), aber
nicht diese.

BTW, ich verstehe nicht ganz, wie Du festlegen willst, fuer welches
Object Du einen Zeiger uebergebn willst. Vermutlich das, in deren
Klasse die Memberfunction definiert ist. C++ ist aber eine statisch
getypte Programmiersprache. Wenn Du einen solchen Zeiger uebergeben
willst, wuerde das bedeuten, dass Du die aufzurufende Funktion nur
noch von Objecten eines Typs callen kannst, was sicherlich eine
heftige Einschraenkung ist.
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@wavehh.hanse.de>. No NeXTMail, please.
 Norderstedt/Hamburg, Germany. Fax +49 40 522 85 36. This is a 
 private address. At (netless) work programming in data analysis.
Technical Details
Message-ID: <1995Aug10.135331.8957@wavehh.hanse.de>
Path: arc1-ca.pugleaf.net!wavehh.hanse.de!cracauer
References: <40clg8$oej@fbi-news.informatik.uni-dortmund.de>

Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++
Path: arc1-ca.pugleaf.net!wavehh.hanse.de!cracauer
From: cracauer@wavehh.hanse.de (Martin Cracauer)
Subject: Re: Aufrufer einer Methode feststellen?
Message-ID: <1995Aug10.135331.8957@wavehh.hanse.de>
Keywords: caller, this
Organization: The Internet
References: <40clg8$oej@fbi-news.informatik.uni-dortmund.de>
Date: Thu, 10 Aug 95 13:53:31 GMT