>>213
アラインメントの問題がなければ、<new>をインクルードして、
data = new(&works[50]) cData;などとする。

それで&works[50]にコンストラクタが呼ばれcDataのオブジェクトが作られる。

逆は、data->~cData();のように自分でデストラクタを呼んでからfree()すればよい。