我不是c ++专家,但过去已经将序列化了几次。不幸的是,这一次我试图序列化一个包含std :: string的类,我理解这很像序列化一个指针。我可以将类写入文件,然后再次读回。所有int字段都可以,但是std :: string字段给出“地址超出范围”错误,大概是因为它指向的数据不再存在。有标准的解决方法吗?我不想回到char数组,但至少我知道它们在这种情况下可以工作。如有必要,我可以提供代码,但我希望我已经很好地解释了我的问题。我正在通过将类强制转换为char *并将其写入具有fstream的文件来进行序列化。阅读当然是相反的。
3 回答
- 3 回答
- 0 关注
- 704 浏览
添加回答
举报
0/150
提交
取消