// 멤버함수의호출원리
class A
{
int x;
public:
void foo( int a ) // void foo( Point* const this, int a)
{
x = a; // this->x = a;
}
};
void main()
{
A a1, a2;
a1.foo(10); // foo( &a1, 10 );
// push &a1 이 아니라 mov ecx, &a1
// a1 , 즉 this에 대한 인자는 레지스터로 보낸다.( thiscall )
// push 10
// call foo
}
Tag | C++