我试图将复杂的嵌套结构作为静态数据直接存储在.cpp文件中。我想采取的方法是取我的对象(已支持Boost序列化)并将其作为二进制归档序列化为字节数组。然后我可以获取该字节数组,并通过它来自动生成所需的.cpp代码来保存二进制数组。然后,我想从该字节数组反序列化回对象。使用Boost和IOStreams将数据序列化为静态数据
因此,基本上,在这一天结束时,我想是这样的:
unsigned char* my_obj = { 10, 48, 48, 30, 20 ... }
当我想用这些数据,我只是把它包起来的“字节流”并通它进入Boost再次反序列化回我的实际对象。
我的问题是:是否有一些简单的方法将字节数组作为流传递? Boost处理用于阅读和编写档案的istream和ostreams。我不想使用stringstream或文件流,而是我认为可能是一个自定义流,它只是传递给它的任何巨大字节数组。
我觉得应该有一种很好的方式来创建这个自定义流,并使其与Boost序列化无缝协作...我只是不确定从哪里开始?
不过听起来像是你是一个ostringstream – 111111
后哦,是吗?我认为这不是工作的工具,因为我真的不想要一个字符串,但也许你是对的!我会尝试一下,看看是否有效... – aardvarkk
嗯,我不确定这是否是“理想”工具,但是如果您想将数据存储到我能想到的最好的临时流中。或者,如果你只需从令牌化代码中创建字符串,那也很容易。 – 111111