【发布时间】:2013-03-10 12:34:44
【问题描述】:
我有一个包含成员的堆栈类和一个名为 push 的函数。
class STACK
{
int data;
public:
void push(int x)
{
data=x;
}
}
C++ 做了什么来转换这个语句:
s1.push(3);
到
s1.push(this,3);
基本上我的问题是,在生成 this 指针并将其作为隐藏参数传递时会发生什么?
我实际上是在用 C 编写代码。我的目标是拥有一个尽可能接近 OOP 的程序。为此,我将函数指针作为结构的成员。因此,我想知道是否有可能以某种方式跟踪调用函数的结构(如“this”指针)。我不想做类似的事情: s1.push(&s1,3);因为它超出了我的目的。
是否可以转换 s1.push(3);到 s1.push(&1,3);通过宏替换
【问题讨论】: