Article View: de.comp.lang.c++
Article #241Aufrufer einer Methode feststellen?
From: Armin M. Warda
Date: Thu, 10 Aug 1995 10:02
Date: Thu, 10 Aug 1995 10:02
53 lines
1935 bytes
1935 bytes
Hallo,
gibt es eine Moeglichkeit, den Aufrufer einer Methode
in der Methode festzustellen?
Ich koennte natuerlich beim Aufruf einer Methode immer
den 'this'-Zeiger explizit uebergeben:
class X
{
public:
void f(int x, Y* caller=NULL)
{
if (caller)
if (caller == ...)
...
caller->...;
...
else
...
else
...
};
};
Aufruf aus einer Methode eines anderen Objekts:
f(42, this);
Aufruf aus main() oder einer anderen Funktion, die
keine Methode eines Objekts ist:
f(42);
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?
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.
Ich verwende GCC 2.5.8 - 2.6.3 unter SunOS 4.x - 5.x
und Linux 1.2.x - 1.3.x.
A.
--
-------------------------------------------------------------------------------
Armin M.Warda <http://ls4-www.informatik.uni-dortmund.de/QM/MA/warda/pi.html>
Universitaet Dortmund, Fachbereich Informatik, Lehrstuhl IV, D-44221 Dortmund
Technical Details
Message-ID:
<40clg8$oej@fbi-news.informatik.uni-dortmund.de>Path:
arc1-ca.pugleaf.net!Informatik.Uni-Dortmund.DE!veronica!wardaShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!Informatik.Uni-Dortmund.DE!veronica!warda From: warda@veronica.informatik.uni-dortmund.de (Armin M. Warda) Newsgroups: de.comp.lang.c++ Subject: Aufrufer einer Methode feststellen? Date: 10 Aug 1995 10:02:48 GMT Organization: CS Department, Dortmund University, Germany Sender: warda@informatik.uni-dortmund.de (Armin M. Warda) Message-ID: <40clg8$oej@fbi-news.informatik.uni-dortmund.de> NNTP-Posting-Host: veronica.informatik.uni-dortmund.de Keywords: caller, this