zz_xiao_cai
2017-10-25 08:43对于类中有虚函数的时候,对象所占空间,字节对齐方式有变化么
最近的一个bug,让我发现对于类中的字节对齐还是有模糊地方,望大家指点
先上一段测试代码
class CPoint
{
private:
double x, y;
char a;
public:
CPoint(double i, double j)
{
x = i;
y = j;
}
virtual double area() const
{
return 0;
}
};
在main 函数中这样调用:
CPoint point(1, 2);
cout << " point size is : " << sizeof(point) << endl;
在win10 64位 vs2012 下,我以为输出24,运行结果为 32,表示不解
把x 和 y的类型改为 int,其它都不变,我觉得输出为16,运行结果也为 16
请问,指向虚函数表的指针,在这个运行环境下,不应该是固定的4个字节么,为什么x,y为double类型时,对象的总长度会是32呢?
- 点赞
- 回答
- 收藏
- 复制链接分享
3条回答
为你推荐
- PUT上传带有流和进度的文件字节范围
- http
- upload
- progress
- 1个回答
- java 中new一个对象占多少内存?
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 在try 语句块内实例化的文件字节流对象,在finally语句块内为何无法解析?
- exception
- 对象
- 实例
- 2个回答
- C语言遇到问题,请大神相助!指针型数组里元素所占用字节问题!
- 数组元素
- 字节
- 8个回答
- 程序的标准输出字节长度有限制吗?
- 管道
- 标准输出
- 字节长度限制
- 1个回答
换一换