【发布时间】:2009-08-15 01:01:22
【问题描述】:
有大量关于重载operator<< 以模仿将复杂对象转换为字符串的toString() 样式方法的信息。我有兴趣也实现逆向,operator>> 将字符串反序列化为对象。
通过检查STL 来源,我收集到:
istream &operator>>(istream &, Object &);
将是反序列化Object 类型对象的正确函数签名。不幸的是,我一直不知道如何正确实现这一点——特别是如何处理错误:
- 如何指示流中的无效数据?抛出异常?
- 如果流中有格式错误的数据,流应该处于什么状态?
- 在返回运算符链接的引用之前是否应该重置任何标志?
【问题讨论】:
标签: c++ operator-overloading stream