我正在创建一个C ++对象序列化库。这更倾向于自学和增强。我不想使用像boost或google protocol buf这样的现成库。 请分享您的经验或评论的好方法(比如使用标签值创建一些编码等)。 我想首先支持POD,然后支持非线性DS。
由于 PS:HNY2012
答案 0 :(得分:1)
答案 1 :(得分:1)
过去几个月我一直在做类似的事情。我无法使用Boost,因为任务是序列化一堆现有的类(庞大的现有代码库),并且让类从具有serialize()虚函数的接口继承是不合适的(我们不想要多重继承)
采取的方法具有以下显着特征:
std::fstream
),其中包含用于序列化非指针,指针和STL数据类型的模板函数。流对象只能以只读或只写模式打开(按设计),因此可以使用相同的serialize()函数从文件读取或写入文件,具体取决于模式。溪流被打开了。因此,阅读与写作班级成员的顺序不存在任何不匹配的可能性。网页上的一个页面捕获了上面分享的一些想法:http://www.cs.sjsu.edu/~pearce/modules/lectures/cpp/Serialization.htm。希望有所帮助。
答案 2 :(得分:0)
可能this可以帮助您。