扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
struct C180 { C180() { foo(); this->foo(); } virtual foo() { cout << "<< C180.foo this: " << this << " vtadr: " << *(void**)this << endl; } }; struct C190 : public C180 { C190() {} virtual foo() { cout << "<< C190.foo this: " << this << " vtadr: " << *(void**)this << endl; } }; |
C190 obj; obj.foo(); |
<< C180.foo this: 0012F7A4 vtadr: 0045C404 << C180.foo this: 0012F7A4 vtadr: 0045C404 << C190.foo this: 0012F7A4 vtadr: 0045C400 |
01 00426FE0 push ebp 02 00426FE1 mov ebp,esp 03 00426FE3 sub esp,0CCh 04 00426FE9 push ebx 05 00426FEA push esi 06 00426FEB push edi 07 00426FEC push ecx 08 00426FED lea edi,[ebp+FFFFFF34h] 09 00426FF3 mov ecx,33h 10 00426FF8 mov eax,0CCCCCCCCh 11 00426FFD rep stos dword ptr [edi] 12 00426FFF pop ecx 13 00427000 mov dword ptr [ebp-8],ecx 14 00427003 mov ecx,dword ptr [ebp-8] 15 00427006 call 0041D451 16 0042700B mov eax,dword ptr [ebp-8] 17 0042700E mov dword ptr [eax],45C400h 18 00427014 mov eax,dword ptr [ebp-8] 19 00427017 pop edi 20 00427018 pop esi 21 00427019 pop ebx 22 0042701A add esp,0CCh 23 00427020 cmp ebp,esp 24 00427022 call 0041DDF2 25 00427027 mov esp,ebp 26 00427029 pop ebp 27 0042702A ret |
01 00427040 push ebp 02 00427041 mov ebp,esp 03 00427043 sub esp,0CCh 04 00427049 push ebx 05 0042704A push esi 06 0042704B push edi 07 0042704C push ecx 08 0042704D lea edi,[ebp+FFFFFF34h] 09 00427053 mov ecx,33h 10 00427058 mov eax,0CCCCCCCCh 11 0042705D rep stos dword ptr [edi] 12 0042705F pop ecx 13 00427060 mov dword ptr [ebp-8],ecx 14 00427063 mov eax,dword ptr [ebp-8] 15 00427066 mov dword ptr [eax],45C404h 16 0042706C mov ecx,dword ptr [ebp-8] 17 0042706F call 0041DA8C 18 00427074 mov ecx,dword ptr [ebp-8] 19 00427077 call 0041DA8C 20 0042707C mov eax,dword ptr [ebp-8] 21 0042707F pop edi 22 00427080 pop esi 23 00427081 pop ebx 24 00427082 add esp,0CCh 25 00427088 cmp ebp,esp 26 0042708A call 0041DDF2 27 0042708F mov esp,ebp 28 00427091 pop ebp 29 00427092 ret |
struct __declspec(novtable) C180 { C180() { foo(); this->foo(); } virtual foo() { cout << "<< C180.foo this: " << this << " vtadr: " << *(void**)this << endl; } }; |
<< C180.foo this: 0012F7A4 vtadr: CCCCCCCC << C180.foo this: 0012F7A4 vtadr: CCCCCCCC << C190.foo this: 0012F7A4 vtadr: 0045C400 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者