我有一个包含成员的堆栈类和一个名为push的函数.
class STACK
{
int data;
public:
void push(int x)
{
data=x;
}
}
Run Code Online (Sandbox Code Playgroud)
C++如何转换此语句:
s1.push(3);
Run Code Online (Sandbox Code Playgroud)
至
s1.push(this,3);
Run Code Online (Sandbox Code Playgroud)
基本上我的问题是在引擎盖下发生什么来生成this指针并将其作为隐藏参数传递?
我实际上在C编码.我的目标是有一个尽可能接近OOP的程序.为此我有函数指针作为结构的成员.因此,我想知道是否有可能以某种方式跟踪称为函数的结构(如"this"指针).我不想做类似的事情:s1.push(&s1,3); 因为它打败了我的目的.
是否可以转换s1.push(3); 到s1.push(&1,3); 通过MACRO替换