xx = ~* xp =
: X* xp = new X ??@YAPAXI@Z esp, DWORD PTR $T2579[ebp], eax DWORD PTR $T2579[ebp], SHORT $LN3@main ecx, DWORD PTR $T2579[ebp] ??0X@@QAE@H@Z DWORD PTR tv70[ebp], eax SHORT $LN4@main $ DWORD PTR tv70[ebp], $ eax, DWORD PTR tv70[ebp] DWORD PTR _xp$[ebp], eax
: delete xp ecx, DWORD PTR _xp$[ebp] DWORD PTR $T2591[ebp], ecx edx, DWORD PTR $T2591[ebp] DWORD PTR $T2590[ebp], edx DWORD PTR $T2590[ebp], SHORT $LN5@main 0 只調用析構函數,不調用釋放堆空間(在多重繼承時有用)
ecx, DWORD PTR $T2590[ebp] ??_GX@@QAEPAXI@Z DWORD PTR tv75[ebp], eax SHORT $LN1@main $ DWORD PTR tv75[ebp], $
??_GX@@QAEPAXI@Z PROC ecx DWORD PTR _this$[ebp], ecx ecx, DWORD PTR _this$[ebp] ??1X@@QAE@XZ eax, DWORD PTR ___flags$[ebp] eax,
SHORT $LN1@scalar ecx, DWORD PTR _this$[ebp] ecx ??@YAXPAX@Z esp, $ eax, DWORD PTR _this$[ebp] ;做為返回值
xx = ~* xp = X[
X* xp = new X[] 0Ch operator new esp, dword ptr [ebp-0F8h],eax dword ptr [ebp-], dword ptr [ebp-0F8h], main+97h (0F03617h) eax,dword ptr [ebp-0F8h] dword ptr [eax], offset :~X (0F011DBh) offset :`default constructor closure (0F011E5h) edx,dword ptr [ebp-0F8h] edx, main+0A1h (0F03621h) dword ptr [ebp-10Ch], dword ptr [ebp- dword ptr [ebp-14h],ecx
dword ptr [ebp-20h], dword ptr [ebp-], dword ptr [ebp-1Ch], `eh vector constructor iterator ecx,dword ptr [ebp+] dword ptr [ebp+14h] edx,dword ptr [ebp+] edx,dword ptr [ebp+0Ch] dword ptr [ebp+],edx `eh vector constructor iterator
delete [] xp eax,dword ptr [ebp-14h] dword ptr [ebp-0ECh],ecx dword ptr [ebp-0ECh], main+0F0h (0A23670h) ecx,dword ptr [ebp-0ECh] :`vector deleting destructor00A23668 mov dword ptr [ebp-10Ch],eax 00A2366E jmp main+0FAh (0A2367Ah) 00A23670 mov dword ptr [ebp-10Ch],0 13: 14: }
:`vector deleting destructor+61h (0A21B71h) offset :~X (0A211DBh) eax,dword ptr [this] ecx,dword ptr [eax-] ecx edx,dword ptr [this] edx `eh vector destructor iterator+59h (0A21B69h) eax,dword ptr [this] eax, eax operator delete (0A21087h) esp, eax,dword ptr [this] eax, :`vector deleting destructor+7Dh (0A21B8Dh) eax,dword ptr [this] eax operator delete (0A21087h) esp, eax,dword ptr [this] @ILT+
ecx,dword ptr [ebp+0Ch] ecx,dword ptr [ebp+10h] ecx,dword ptr [ebp+] dword ptr [ebp+],ecx dword ptr [ebp-], edx,dword ptr [ebp+10h] edx, dword ptr [ebp+10h],edx `eh vector destructor iterator+51h (0A236F1h)
xx = ~ yy = ~ Z : X, zz = ~* ip1 = [* ip2 =
: * ip1 = new [] operator new (141177h) esp, dword ptr [ebp-104h],eax dword ptr [ip1],eax : delete [] ip1 eax,dword ptr [ip1] dword ptr [ebp-0F8h],eax ecx operator delete (141082h) esp, : * ip2 = new operator new (141177h) esp, dword ptr [ebp-0ECh],eax dword ptr [ip2],eax : delete ip2 eax,dword ptr [ip2] dword ptr [ebp-0E0h],eax ecx operator delete (141082h) esp,