gpt4 book ai didi

c++ - 从文本文件/XML 文件创建 C++ 类

转载 作者:行者123 更新时间:2023-11-28 03:27:12 24 4
gpt4 key购买 nike

我基本上想为我想制作的某些数据类型创建一个内部结构。这些数据类型将保存我程序中的大部分信息(基本上是一个大型数据库,但我想避免设置一个以供使用的麻烦)并将被序列化/反序列化。

但我想从文本文件/ml 文件的布局中即时创建这些类/结构。例如:

container Music
field string name
field largenumber filesize
end container

这是一个非常基本的例子:在上面,'container' 将是数据类型(类或结构),'field' 表示一个变量(字符串是......一个 STL 字符串,一个大数字是一个无符号整数或类似的东西。是的,我意识到我想要一个类似于 C++ 解析器(对于编译器)的东西来检查语法是否正确。

我基本上希望我的程序的用户创建他们自己的数据类型(添加字段/删除字段/创建他们自己的结构),然后将其永久保留在我的程序中。

(我已经弄清楚如何在执行此操作时序列化/反序列化 - 我所要做的就是确保我还保存了最后创建的类/结构文本文件和序列化数据,这样我就可以重新创建数据类型当我反序列化时)。

有谁知道如何着手做这件事,或者对我的设计提出更好的实现建议吗?

附言显然,此信息需要在运行时而不是编译时创建。

最佳答案

对于 XML 到对象的转换,您实际看到的是 SOAP 的一部分。我更喜欢 RapidXML,但您可以尝试其他 XML 解析器来创建/读入您的对象。

对于文本文件,您可能必须编写自己的解析器来正确处理您的文本文件,期望正确的类型和定义,然后相应地生成对象。

我同意,除非存在通用接口(interface),否则动态创建对象并用值填充它并非易事。

作为旁注,既然您说您希望用户动态地“创建”类型,为什么不研究一种简单的脚本语言(或自己制作 DSL?)

关于c++ - 从文本文件/XML 文件创建 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13611254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com