EDIT: Soupir, j'ai raté la partie "IDA Pro". Je vais juste laisser ceci ici pour la valeur de divertissement, au cas où quelqu'un se demande ce que "this + 4" fait en code C++ normal.
"this + 4" prend votre pointeur actuel, avance de quatre fois sa taille. Ensuite, il jette cela à un pointeur octet et le lit.
Considérez ceci:
struct A {
void foo();
int x;
int y;
};
sizeof (A), sur un système 32 bits, est très probablement 8 octets.
A myArray[8];
A *pA = myArray;
maintenant des points à pA & myArray [0].
pA++;
maintenant des points Pa à & monTableau [1], à savoir qu'il déplacé vers l'avant 8 octets.
void A::foo() {
A *pA = this + 4;
}
Si vous appelez cela sur & myArray [0], il pointera vers & myArray [4], à savoir 32 octets plus loin sur la route.
peut-être 'MOVZX eax, byte ptr [ecx + 4]' sera plus facile à comprendre. – ruslik