with placement new, it turned out that sizeof operator can't tell me the real space needed to set an array (buffer) to hold two successive class object.
i set a class, whose size is 28(sizeof told me), so i set a int *buf = newint[14];//for 14*4 = 56 to give just adequate space for 2 object. but while run time, error occurs. and i have to give a lot of additional space.