对于编译器创建的成员函数,其实际参数列表包含一个隐式的this指针,用于指向该成员函数所属的对象。例如:
class MyClass { public: void myFunc(int a, int b) { // ... } };
编译器会将myFunc函数转换为以下形式:
void myFunc(MyClass* const this, int a, int b) { // ... }
因此,调用该函数时需要传入一个MyClass的实例作为this指针,其余参数则按照常规方式传入。例如:
MyClass obj; obj.myFunc(1, 2);
这里传入的实际参数列表为(&obj, 1, 2),其中&obj作为this指针传递给myFunc函数。
下一篇:编译器创建的匿名类型:可打断行为