【发布时间】:2012-09-02 01:27:33
【问题描述】:
我正在尝试用 C++ 编写一个持久数据结构,但是我觉得我应该能够使它与我的数据结构阅读器的各种其他实现二进制兼容,因此,我目前的想法是在本机内存中声明数据结构没有任何抽象。
例如,我会指定一个线性内存块作为数据结构(使用new 关键字),然后描述第一个字节的含义,第二个字节的含义等等。我知道我可以使用struct 来做到这一点,但是随后,数据结构将绑定到一种语言,而其他语言则必须使用此结构。此外,实现可能会从编译器更改为编译器。相反,我希望它作为内存标准。
我正在尝试做的事情有点明智吗?或者我试图过度简化事情并且真的应该使用struct 数据结构?现在进入 C++ 部分,如果您认为我应该使用 struct 数据结构,那么使用成熟类有什么缺点?
(无论如何,我都在使用一个类来包装内存结构并为其提供函数,因为数据结构无论如何都是持久的。) 编辑 正如贾斯汀所建议的那样,我需要围绕内存结构的任何此类高级接口包装器,因此我关于类包装器的最后一点没有正确说明。我的意思是我想要一个用于内存表示的类接口,它不一定是包装器。
【问题讨论】:
标签: c++ c binary-compatibility