EDIT: Seufz, ich habe den "IDA Pro"-Teil übersehen. Ich lasse das einfach mal zur Unterhaltung hier, falls sich jemand fragt, was "this+4" in normalem C++-Code macht.
"this+4" nimmt den aktuellen this-Zeiger und verschiebt ihn um das Vierfache seiner Größe nach vorne. Dann wird dieser Zeiger in einen Byte-Zeiger umgewandelt und gelesen.
~~Bedenken Sie dies:
struct A {
void foo();
int x;
int y;
};
sizeof(A) ist auf einem 32-Bit-System höchstwahrscheinlich 8 Byte.
A myArray[8];
A *pA = myArray;
Jetzt zeigt pA auf &myArray[0].
pA++;
Jetzt zeigt pA auf &myArray[1], d.h. es wurde um 8 Bytes nach vorne verschoben.
void A::foo() {
A *pA = this + 4;
}~~
Wenn Sie dies auf &myArray[0] aufrufen, zeigt es auf &myArray[4], d.h. 32 Bytes weiter unten.