首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

种的大小

2012-09-23 
类的大小?C/C++ code#include stdafx.hclass A{void fun(){int a}}//这个类的大小怎么解释?int _tmain

类的大小?

C/C++ code
#include "stdafx.h"class A{    void fun(){int a;}};//这个类的大小怎么解释?int _tmain(int argc, _TCHAR* argv[]){    int sizeA;    A a;    sizeA=sizeof(a);///为什么是1,???    printf("the size of class A is %d\n",sizeA);    getchar();    return 0;}



看了一下对应的汇编,vs 2010 express
;
C/C++ code
sizeA=sizeof(a);0041179E  mov         dword ptr [sizeA],1  ///怎么直接就给个 1 ?


C/C++ code
main()后面执行的这些汇编是?求大概的科普一下啊...以前学过.win32汇编还是不太懂.004132E0  push        ebp  004132E1  mov         ebp,esp  004132E3  sub         esp,0F0h  004132E9  push        ebx  004132EA  push        esi  004132EB  push        edi  004132EC  lea         edi,[ebp-0F0h]  004132F2  mov         ecx,3Ch  004132F7  mov         eax,0CCCCCCCCh  004132FC  rep stos    dword ptr es:[edi]  


[解决办法]
没有成员变量的类就只有一个字节占位
[解决办法]
我试了试class中没有任何成员, size也是1.
我觉得可能是函数对于一个程序来说只是一个符号, 这个符号本身不占任何字节.
只是在编译中起到一个符号标示.
[解决办法]
探讨
引用:
没有成员变量的类就只有一个字节占位

那操作系统如何找到这个类呢???

[解决办法]
没有成员变量的类就只有一个字节占位
[解决办法]
据说是为了区别空类的实例化变量,让其有不同地址

热点排行