で、やっぱプロパティー実装するんなら
オブジェクトxのプロパティーy(yの型はt)のアドレスp取った時点でIDかなんかを発行して、
*pへの読み書きで(IDかなんかを通して)x.yの読み書きに変換されないと嘘だよねと、
(カプセル化の原則により、クラスyの利用者はデータメンバとプロパティーの区別とかいちいちしてくんないのが前提
 C++/CXのは「区別してくれ!」という中途半端仕様である…

もちろんpの加減算は、sizeof(t)バイト分の加減算に変換されねばならない

pがt*の変数に代入されたりpの配列なんか作られた日にはもう最悪で、
 t* q = p;
 *q = (t)1234;   // !!!!(A)
 t* some_array[3] = { &x1.y, &x2.y, &x3.y };
 *(some_array[0]) = (t)1000;   // !!!!(B)
とかされたときどういうコードを吐けば良いんじゃ…
もはや従来の生ポインタは生ポインタだけで済まなくなり、
IDなのかポインタなのかを区別するフラグが従来の生ポインタに付加されねばならない

ポインタ(に見えねばならないp)に対するアライメントの設定がまだ規格化されていないのは不幸中の幸いであった