管道通信,发送结构体,结构体里有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;

...全文
215 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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?

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧