C++で下みたいな方法ってよろしくないですかね・・・
配列に入れた座標データを,オペレータオーバーライドを使って計算したいんですが
要素毎にコンストラクタ呼び出しは冗長になるので
問題点が判らないので指摘をお願いします

#include <stdio.h>

float data[] = {1., 2., 3., 4., 5., 6.};

class Data
{
public: // use default ctor
 float x, y, z;
 Data& operator+=(const Data &right)
....省略...
};

int
main()
{
 Data *ptr;

 ptr = reinterpret_cast<Data*>(data);

 printf("%f %f %f\n", ptr[0].x, ptr[0].y, ptr[0].z);
 printf("%f %f %f\n", ptr[1].x, ptr[1].y, ptr[1].z);

 return 0;
}