C++编程笔记:C++用new与不用new创建对象的区别( 二 )

----C++编程笔记:C++用new与不用new创建对象的区别//---- http://


"multi_version":false

一、Alignment问题

重新发现这个问题是因为在体系结构课上提到的一个概念 , alignment对齐的概念 。

像上面这个C++的类 , 它有两个变量 。

或者直接算它的大小

然后按照道理 , myclass的大小 , 应该是5 byte才对 , 可是最后输出的结果是8 , 显然这就说明系统在创建对象的时候 , 将对象的变量进行了对齐操作 , 不足4 byte的按照4 byte补足 。

2.1 虚函数引起的空间占用:虚函数管理

此外 , 普通成员函数不会占用对象空间的大小 , 也不会影响sizeof的结果 。

推荐阅读