私は、標準 ( ISO/IEC 14882:2011(E)の§3.9/4) の次の段落に興味をそそられます。
type のオブジェクトのオブジェクト表現は、 typeのオブジェクトによって取り上げられるN 個
T
のオブジェクトのシーケンスです。ここで、Nは等しいです。オブジェクトの値表現は、 type の値を保持するビットのセットです。自明にコピー可能な型の場合、値の表現は、実装定義の値のセットの 1 つの離散要素であるvalueを決定するオブジェクト表現のビットのセットです。42unsigned char
T
sizeof(T)
T
オブジェクト表現の一部がオブジェクトの値に関与しないようにするために、オブジェクト表現と値表現が異なることを理解しています (パディングなど)。ただし、自明にコピー可能な型についてはよくわかりません。自明ではないコピー可能な型には値がありませんか? 自明でないコピー可能型の値表現の一部は、そのオブジェクト表現の外に存在できますか?
注42は次のように説明しています。
その意図は、C++ のメモリ モデルが ISO/IEC 9899 プログラミング言語 C のメモリ モデルと互換性があることです。
ただし、前のステートメントが単純にコピー可能な型のみを対象としている理由はまだわかりません。これにはどのような意味がありますか?