读书人

sizeof class 大小解决方案

发布时间: 2012-10-11 10:16:10 作者: rapoo

sizeof class 大小

C/C++ code
#include <cstdio>#include <cstdlib>#include <iostream>using namespace std;class A {    public:        virtual void p();    private:        int *a;};int main(){    cout<<sizeof(A)<<endl;;    return 0;}


请问sizeof(A)的大小为什么16,空类是1。
virtual 函数的大小是4,加上this指针4,假如我把int*a注释掉的话大小是8,这样理解对吗?
为什么加上int*a怎么成了16,而不是12呢?

[解决办法]
VS2008 答案也是8
LZ在哪里搞的16 ,估计你是64位机
[解决办法]
32位机,vs2005测试结果为8.建议楼主看下虚函数机制就明白了。

读书人网 >C++

热点推荐