我对标准中的以下段落感兴趣(ISO/IEC 14882:2011(E)的 §3.9/ 4 ):
类型对象的对象表示是由类型对象占据
T的N个unsigned char对象的序列T,其中N等于sizeof(T).对象的值表示是保存type值的位集T.对于简单的可复制类型,值表示是对象表示中的一组位,用于确定值,该值是实现定义的值集的一个离散元素.42
我理解对象表示和值表示是不同的,以允许一些对象表示不参与对象的值(例如,填充).虽然我不太了解关于可复制类型的观点.非平凡的可复制类型没有值吗?非平凡可复制类型的部分值表示是否存在于其对象表示之外?
注42解释:
目的是C++的内存模型与ISO/IEC 9899编程语言C的内存模型兼容.
我仍然不明白为什么之前的声明仅适用于简单的可复制类型.这有什么意义?