空类为什么样内存大小为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星
用户评分:
发表评论

评论

  • 暂无评论信息