请问sizeof的有关问题 -小妹儿

请教sizeof的问题 ---小妹儿
To ALL:

C/C++ code



class A
{

};

class B
{
    private:
    static int a;
};
void main()
{
    cout<<sizeof(A)<<endl; 
    cout<<sizeof(B)<<endl;

}


Q1: 为什么sizeof(A)输出1.这个1是怎么出来的,表示什么意思。
Q2:为什么sizeof(B)输出1.
Q3:请问对于class A和B 存在什么位置?(代码区,堆栈区,静态区...)


------解决方案--------------------
探讨

1.对于空类,都会默认放一个char类型数据,以便可以寻址此类。
2.static int a作为静态变量,整个程序只有一个副本,放在静态区,不占类的空间。
3.如果你没有建立具体的对象,则class A和B不存在于任何地方。只有实例化之后才会分配空间

------解决方案--------------------
探讨

引用:

1.对于空类,都会默认放一个char类型数据,以便可以寻址此类。
2.static int a作为静态变量,整个程序只有一个副本,放在静态区,不占类的空间。
3.如果你没有建立具体的对象,则class A和B不存在于任何地方。只有实例化之后才会分配空间

你好。谢谢您的回答。
请问对于1的答案您是在那一本书中学到的,谢谢请推荐下。

------解决方案--------------------
1楼正解 不过类是也是放在代码段的 其他的没问题 楼主想看参考书的话可以看 c++Primer 很经典的一本书号称c++ 圣经 里面什么都能找到 网上有电子版下··
------解决方案--------------------
探讨

1.对于空类,都会默认放一个char类型数据,以便可以寻址此类。
2.static int a作为静态变量,整个程序只有一个副本,放在静态区,不占类的空间。
3.如果你没有建立具体的对象,则class A和B不存在于任何地方。只有实例化之后才会分配空间

------解决方案--------------------
探讨
引用:

1.对于空类,都会默认放一个char类型数据,以便可以寻址此类。
2.static int a作为静态变量,整个程序只有一个副本,放在静态区,不占类的空间。
3.如果你没有建立具体的对象,则class A和B不存在于任何地方。只有实例化之后才会分配空间

你好。谢谢您的回答。
请问对于1的答案您是在那一本书中学到的,谢谢请推荐下。

------解决方案--------------------
囧,,真正的大神来了。。。
自愧不如啊

只不过一般是这么处理的而已
------解决方案--------------------
小妹啊,基础很重要啊
------解决方案--------------------
探讨
1楼正解 不过类是也是放在代码段的 其他的没问题 楼主想看参考书的话可以看 c++Primer 很经典的一本书号称c++ 圣经 里面什么都能找到 网上有电子版下··

------解决方案--------------------
建议看看深入解析C++对象模型。
------解决方案--------------------
探讨

引用:

1.对于空类,都会默认放一个char类型数据,以便可以寻址此类。
2.static int a作为静态变量,整个程序只有一个副本,放在静态区,不占类的空间。
3.如果你没有建立具体的对象,则class A和B不存在于任何地方。只有实例化之后才会分配空间

+++

------解决方案--------------------
有精力多看点顶用的吧。