由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - [C++问题]请教关于几种size of class
相关主题
C++ Q21: size of virtual table菜鸟求救 请大家看看我的代码有没有问题
砸了面试,发面题看看这道题
菜鸟问个问题,如果太简单了请原谅我的愚蠢面经-facebook, amazon,telenav, quantcast
中国人面试果然很好人c++ 问题
C++ Q: sizeof看到一个c的面试题,求教。
请教C/C++小用 c 实现的字符串 permutation,求批评指点
C/C++里数组作函数的参数的话应该怎么写?问个算法题
take a break, and try this small test (20 questions)find k missing numbers in range [0, N].
相关话题的讨论汇总
话题: char话题: donothing话题: class话题: void话题: virtual
进入JobHunting版参与讨论
1 (共1页)
w**********y
发帖数: 1691
1
////////////////////////////
class A{ }; A a;
那么 sizeof(a) is 1;
class X{
void doNothing(){}
char a;
};
sizeof(x) 咋还是1,不是 1+1 =2 呢?
////////////////////////////
class Y{
virtual void doNothing(){}
};
sizeof(y) is 4..这个应该是指向virtual table的地址大小吧?
class Y{
virtual void doNothing(){}
virtual void doNothing2(){}
char a;
};
为啥是8不是4+1=5啊? 而且再添加一个member: char b..还是8..
如果换成char* b就成了12...
如果换成char a[2],结果是8
如果换成char a[10],结果是16
非常不理解..
j*****4
发帖数: 292
2
空类大小是1是因为编译器自己加了个char以区别两个空类,当有了别的data成员这个
char
就没了。其他的问题是字节补齐。关于这些建议看Inside C++ Object Model

【在 w**********y 的大作中提到】
: ////////////////////////////
: class A{ }; A a;
: 那么 sizeof(a) is 1;
: class X{
: void doNothing(){}
: char a;
: };
: sizeof(x) 咋还是1,不是 1+1 =2 呢?
: ////////////////////////////
: class Y{

y****1
发帖数: 26
3
class X{
void doNothing(){}
char a;
};
sizeof(x) 咋还是1,不是 1+1 =2 呢?
应该是成员函数不占空间
t*****j
发帖数: 1105
4
nod, 函数不占空间.

【在 y****1 的大作中提到】
: class X{
: void doNothing(){}
: char a;
: };
: sizeof(x) 咋还是1,不是 1+1 =2 呢?
: 应该是成员函数不占空间

w**********y
发帖数: 1691
5
多谢回复..我去放狗搜一下字节补齐..

【在 j*****4 的大作中提到】
: 空类大小是1是因为编译器自己加了个char以区别两个空类,当有了别的data成员这个
: char
: 就没了。其他的问题是字节补齐。关于这些建议看Inside C++ Object Model

w**********y
发帖数: 1691
6
狗还挺灵光的..
http://blog.csdn.net/digu/archive/2009/11/04/4768623.aspx
这应该就是正确解释了..
再次感谢
1 (共1页)
进入JobHunting版参与讨论
相关主题
find k missing numbers in range [0, N].C++ Q: sizeof
菜鸟的问题:Given a string, find whether it has any permutation of another string请教C/C++小
半小时之前的G电面,估计挂了C/C++里数组作函数的参数的话应该怎么写?
求问下面这几行代码是做什么的,非常感谢!take a break, and try this small test (20 questions)
C++ Q21: size of virtual table菜鸟求救 请大家看看我的代码有没有问题
砸了面试,发面题看看这道题
菜鸟问个问题,如果太简单了请原谅我的愚蠢面经-facebook, amazon,telenav, quantcast
中国人面试果然很好人c++ 问题
相关话题的讨论汇总
话题: char话题: donothing话题: class话题: void话题: virtual