我有一个包含成员的堆栈类和一个名为 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); 通过宏替换