- 结构体struct和类class占用内存大小解析
今天面试遇到一个比较有意思的问题, 这里安排一下
空结构体和空类占内存大小是多少?
答案:
1. C++指定空结构体和空类所占内存大小为1,
2. C 的空类和空结构体大小为0
为何c++会有这样的规定呢?
no object shall have the same address in memory as any other variable
如果允许C++对象大小为0, 那么这里的运算将产生两个问题:
不能通过指针区分不同的数组对象,
sizeof(S1)为0, 导致非法除零操作
这样一来就需要更复杂的代码处理异常
示例代码
include
Original: https://www.cnblogs.com/wanghuaijun/p/16215660.html
Author: 专注it
Title: C++ 硬核知识点: 数据段/代码段/内存分配/虚函数/继承/多态
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535346/
转载文章受原作者版权保护。转载请注明原作者出处!