64,682
社区成员
发帖
与我相关
我的任务
分享
; delete p;
;
push ebx
call @$bdele$qpv
pop ecx
;
; p = NULL;//都等于NULL了,为什么下面一行还能正确???
;
?live16385@64: ;
xor ebx,ebx
;
;
; p->Func();//这一句仍能正确执行,使我不能理解
;
?live16385@80: ; EBX = p
push ebx
call @@A@Func$qv
pop ecx
后面的不要管...能出来什么结果并没有保证.
因为在Func里面并没有用到this,所以调用没有问题
((A*)0)->Func();也行
把函数改成下面的你看看this就明白了.
void Func(void)
{
printf("Func of class A\n");
printf("%p\n", this);
}