1 ,首先声明一个足够大的空间
char data[MAX_DATA_SIZE] = {0};
2,将data转化为对应的结构类型
DataType* pData = (DataType*) data;
3,调用结构的构造函数,但不申请内存
new (static_cast<void*>(pData)) DataType();
4,对于数据长度不定的数据,比如;
struct DataType
{
int id;
int data[0];
};
可以不断向data里添加数据,比如:pData->data[0] = 1;pData->data[1]=2; 此时实际的长度为sizeof(int)*3