管道通信,发送结构体,结构体里有vector,接受方怎么接受

nickwu1220 2015-10-17 01:41:38

typedef struct _person
{
TCHAR szName[20];
TCHAR szAddr[50];
}person;
typedef struct _parent
{
TCHAR father[20];
TCHAR mother[50];
}parent;


为什么不能再定义一个结构体

typedef struct _SendData
{
int nType;
union uu
{
vector<person> vper;
vector<parent> vpar
}uVal;
}SendData;

...全文
70 点赞 收藏 5
写回复
5 条回复
橘风之轮 2015年10月17日
vector属于复杂结构,里面包含的东东经传递之后,vector结构体内相应地址应该都破坏了,很大概率不能使用了
回复 点赞
lm_whales 2015年10月17日
另外一种方法是转换成字符串,或者直接存储为定长数据
回复 点赞
lm_whales 2015年10月17日
重定义 内存分配对象 使用 共享内存传递应该可以的 必要时把指针换算成 偏移量
回复 点赞
fefe82 2015年10月17日
不要跨进程传递复杂的数据结构,比如 vector 。
回复 点赞
nickwu1220 2015年10月17日
是不是union里不能包含vector?
回复 点赞
发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告