当一个c++类被实例化的时候,从内存当中会产生一块关于该类的内存区域。那么,一个类对应的内存是怎么样的呢?类里面有成员变量,有函数,还有虚函数等,具体自己去研究,我这里只介绍一种方法,可以查看一个类的内存分布,好记性不如烂笔头,帮自己记忆了。
用vs系列工具的弟兄,我们以vs2008为例,用所有程序里找到vs2008命令工具,然后打开。然后就可以使用cl工具进行查看了。
写一个文件如test.cpp,然后在这个文件里写入一个类myclass,再写一个结构体mystruct.
然后打开上面提到的vs的命令工具,按照以下格式输入就行了:
比如我们要查看myclass的内存分布:cl test.cpp /d1reportSingleClassLayoutmyclass
查看mystruct的内存分布:cl test.cpp /d1reportSingleClassLayoutmystruct
that's all.