1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <cstdio> struct A { int x; }; struct B { int y; }; struct C : B, A {}; int main() { void* c = new C(); printf("%p\n", c); // 0x1000 A* a = (A*) c; printf("%p\n", a); // 0x1000 A* aa = (A*) ((C*) c); printf("%p\n", aa); // 0x1004 return 0; } |
I2luY2x1ZGUgPGNzdGRpbz4KCnN0cnVjdCBBIHsgaW50IHg7IH07CnN0cnVjdCBCIHsgaW50IHk7IH07CgpzdHJ1Y3QgQyA6IEIsIEEge307CgppbnQgbWFpbigpIHsKICAgIHZvaWQqIGMgPSBuZXcgQygpOwogICAgcHJpbnRmKCIlcFxuIiwgYyk7ICAvLyAweDEwMDAKICAgIEEqIGEgPSAoQSopIGM7CiAgICBwcmludGYoIiVwXG4iLCBhKTsgIC8vIDB4MTAwMAogICAgQSogYWEgPSAoQSopICgoQyopIGMpOwogICAgcHJpbnRmKCIlcFxuIiwgYWEpOyAvLyAweDEwMDQKICAgIHJldHVybiAwOwp9CgoK
-
upload with new input
-
result: Success time: 0.01s memory: 2812 kB returned value: 0
0x8805008 0x8805008 0x880500c


