Article View: de.comp.lang.c++
Article #244Re: Aufrufer einer Methode feststellen?
From: Martin Cracauer
Date: Thu, 10 Aug 1995 13:53
Date: Thu, 10 Aug 1995 13:53
32 lines
1885 bytes
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!cracauerReferences:
<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