测量普通变量
被测量 | value |
---|---|
char | 1 |
short | 2 |
int | 4 |
double | 8 |
数组 | 数组内容个数+1(结尾有“\0”) |
传入函数的数组 | 4,是一个指针,指向这个数组 |
测量类对象
被测量 | value |
---|---|
空 | 1 |
char | 1,字节对齐 |
short | 2,字节对齐 |
int | 4,字节对齐 |
double | 8,字节对齐 |
普通函数 | 不占字节 |
几个虚函数 | 有一个指向虚函数表的指针,只占用一个指针,32位机器是4 |
静态成员变量 | 不占字节,共享同一个静态存储区,不在每一个实例中 |
一次虚拟继承 | 4,指向父类指针 |
测量联合体union
两点原则:
1. 等于占用空间最大的一个成员的大小;
2. 最大值需要字节对齐,等于最小成员的倍数
被测量 | value |
---|---|
空 | 1 |
char | 1 |
char[13] | 13 |
short | 2 |
int | 4,字节对齐,安照union里面最小字节的倍数来对齐。 |
double | 8,字节对齐,安装union里面最小字节的倍数来对齐。 |
参考推荐
参考来自《c++程序员面试秘笈》面试题13到面试题20。
关于计算机内存什么是代码区、常量区、静态区(全局区)、堆区、栈区,很好的一个博客推荐:
https://blog.csdn.net/u014470361/article/details/79297601
来源:CSDN
作者:dgi_
链接:https://blog.csdn.net/github_38148039/article/details/104094410