【发布时间】:2013-12-11 20:18:14
【问题描述】:
在我的 C++ 应用程序中,我有这个结构
typedef struct
{
int a;
int b;
char *c
}MyStruct
我有这个实例:
MyStruct s;
我也有这个定义:
vector<byte> buffer;
我想将s 结构插入\转换为缓冲区向量。
在 C++ 中最好的方法是什么?
谢谢。
【问题讨论】:
-
vector<byte> buffer(sizeof(s)); memcpy(&buffer[0] &s, sizeof(s)); -
您是否要进行序列化?你关心字节顺序吗?填充?对齐?
-
你想用你的
char* c做什么?你应该复制它的内容吗?顺便说一句,你的代码看起来不像 C++ -
小心,如果您正在进行序列化,请记住 char* 指针在另一个进程中将不再有效。