4
class Class1
{
char c;
};
class Class2
{
};
什么的Class1和Class2中的大小?
在VC6中,我得到了两个1.有人可以解释这一点吗?
class Class1
{
char c;
};
class Class2
{
};
什么的Class1和Class2中的大小?
在VC6中,我得到了两个1.有人可以解释这一点吗?
因为指针运算(特别是减法运算符)可以除以大小,并且除零除外,所以没有类的大小可以小于1。每个实例都有一个唯一的地址也是必要的,这意味着每个地址空间必须至少有一个字节的地址空间,因此最小大小再次为1。
因此sizeof (Class1) == 1
因为这是内容所需要的,而sizeof (Class2) == 1
因为这是允许的最小值。
我明白了。非常感谢你。 – mpouse 2010-10-13 00:25:32
@jleedev:我不同意,他的课不仅仅是一个空课,而且还有一个用'char c'。 – 2010-10-11 01:48:27
@thyrgyle:作为副本关闭并不意味着问题完全相同,这意味着理解现有的问题和答案也包含了新的问题。情况就是这样。更清楚地说明相同和重复之间的区别:Q1:前五个素数是什么? Q2:第三个素数是多少? Q2可以作为Q1的重复而关闭。 – 2010-10-11 01:58:31
@Ben:这是一个很好的例子。我在偷它。 – GManNickG 2010-10-11 03:35:00