空类为什么样内存大小为1?七彩虹主板ch61u v23
时间:2018-01-01 19:48:02
浏览:次
点击:次
作者:
来源:
立即下载
C++标准规定,“no object shall have the same address in memory as any other variable” ,就是任何不同的对象不能拥有相同的内存地址。
如果空类内存大小为⓪ ·
class EmptyClass {};
EmptyClass objs[①⓪];
则每个obj都拥有了相同的地址,这显然是违背标准的。
那么为什么C++标准要这么规定呢?
还是这个EmptyClass objs[①⓪],我们来做①个两个元素的地址值相减的运算:
int dis =
编译器怎么实现呢?类似如下代码:
dis = ((char *)
好,那么如果空类内存大小为⓪ · 这里就是除⓪错误
要升级bios你这款u是②②nm的
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息