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