reinterpret_cast / static_cast / C强制转换运算符

时间:2014-01-27 06:33:57

标签: c++ reinterpret-cast

我需要通过网络将以下消息从一个进程传输到另一个进程。

typedef struct {
    int msgType;
    int msgLen;
} msgHeader;

typedef struct 
{
    payload data;
} payload;

发信人:

sender(msgHeader *mh,payload *msg){
    void *sendBuf;
    void *p;
    sendBuf = (void *) malloc(sizeof(msgHeader)+sizeof(payload));
    p=sendBuf;
    memcpy(p,mh,sizeof(msgHeader));
    p+=sizeof(msgHeader);
    memcpy(p,msg,sizeof(payload);

    send(sendBuf,totalsize);
}

接收器:

receive (void *p)
{
    msgHeader *mh;
    payload *msg;

    mh = XXXXX(p);
    msg = XXXXX (p+1);
}

在上面的代码片段中,在接收器中,我应该在标记为XXXXX的行中使用reinterpret_cast或static_cast还是普通的C cast操作符? 我认为其中任何一个都适用于这种情况吗?

0 个答案:

没有答案