【问题标题】:creating datatypes at runtime在运行时创建数据类型
【发布时间】:2010-09-01 16:42:29
【问题描述】:

我有一个场景,我在运行时获得了数据记录。记录单元格的数据类型是可变的,并且仅在运行时才知道。我将如何存储这些记录?

例如,

在运行时,我得到 record_Info = "char[]","int16","int32" 然后我得到 records = "abc" "2" "30", "def" "3" "40"

当我无法初始化它们的类型时如何存储它们?

【问题讨论】:

  • 需要更多细节:record_info 和记录的类型(例如结构、字符串列表、字符串向量、只是一个大字符串等)。 record_info 是否仅包含 POD 类型?如果它可以容纳任何其他类型,您是否提前知道它们?
  • 这可能不是解决这类问题的好语言。也许试试 Perl。

标签: c++ visual-c++


【解决方案1】:

假设您想将它们存储在一个文件中。将类型信息存储在文件的开头(比如标题)。 只有一组预定义的类型。使用可用的类型信息,您可以使用转换器函数将数据转换为相应的类型并将它们作为二进制数据存储在文件中。 如果您有一些可变数据(char[])的上限,那么最好将固定数据记录存储在文件中。访问和修改会更容易。

如果变量数据没有上限,则需要以TLV格式存储变量数据。

【讨论】:

    猜你喜欢
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 2013-12-11
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多