C+的层次结构图+;容器成分 有没有已知的C++数据类型和容器层次结构?例如字节由位组成,Int由Char组成,Char是字节字符串是字符的集合
我感兴趣的是将C+的层次结构图+;容器成分 有没有已知的C++数据类型和容器层次结构?例如字节由位组成,Int由Char组成,Char是字节字符串是字符的集合,c++,types,C++,Types,我感兴趣的是将数据表拼接在一起,它需要在数据行中存储许多不同的数据类型,如果列表由集合和映射组成,我不愿意选择列表,这是一个多维的向量数组,当我可以选择向量开始时 性能是主要目标,我们相信选择最基本的支持数据的容器将带来更高的性能 我使用的JSON定义文件如下: [{ "Column": "Column1", "StartingPosition": 15, "ColumnWidth": 3, "DataType": "Int" }, { "Column": "Column2"
数据表
拼接在一起,它需要在数据行
中存储许多不同的数据类型,如果列表
由集合
和映射组成,我不愿意选择列表
,这是一个多维的向量数组
,当我可以选择向量
开始时
性能是主要目标,我们相信选择最基本的支持数据的容器将带来更高的性能
我使用的JSON定义文件如下:
[{
"Column": "Column1",
"StartingPosition": 15,
"ColumnWidth": 3,
"DataType": "Int"
},
{
"Column": "Column2",
"StartingPosition": 19,
"ColumnWidth": 15,
"DataType": "String"
},
{
"Column": "Column3",
"StartingPosition": 35,
"ColumnWidth": 15,
"DataType": "String"
},
{
"Column": "Column4",
"StartingPosition": 51,
"ColumnWidth": 4,
"DataType": "Double"
}]
解析二进制数据文件。JSON是在运行时读取的,需要创建容器来存储数据。目前,它都解析为一个向量
,这很有效,但如果我想保留原始数据类型,我需要扩展存储的复杂性,以合并支持多种数据类型的容器。我已经研究了std::any
、元组和异构容器()
我在想,它可能最终会成为一个自定义结构的数组,其中包含每个数据类型,并有一个额外的定义来定义要使用的数据类型,这似乎会消耗额外的内存,如果每个数据单元都必须有一个多类型的嵌套多维数组,我觉得选择正确的开始是很重要的。类型之间根本没有这样的层次结构。您可以根据您打算在其中执行的操作选择容器类型。除了流库,标准C++没有层次结构。code>int
、long
、long
都是独立的不同数据类型。您来自Java吗?三个“主要”(我指的是性能最好的)是std::vector
、std::unordered\u set
和std::unordered\u map
。这些通常应该是你去的第一件事。一旦您选择了一个,编写逻辑,然后对其进行基准测试。这样你就不会走得太远,直到你看到它将如何真正执行。如果这些都不适合你,那么你需要开始寻找替代方案。也许这将有助于@Alan解决这个问题,因为它太宽泛了,POB或资源请求。如果您正在寻找关于使用哪种数据结构的建议,我会对问题进行编辑,以详细说明您希望如何使用它,然后我们可以为您提供更好、更少固执己见的答案。