很多时候,我发现自己不得不为多维数据定义一个容器。我们举一个例子:我有许多芯片,每个芯片有许多寄存器,每个寄存器有许多单元,每个单元有许多晶体管。C++多维数据处理
在我的C++程序的某个阶段,我必须读取这些数据,之后我必须使用它。
我不能使用该数据的任何外部存储:文件,资料库等
所以,我应该创建一些多维的STL容器?矢量地图的地图,或类似的东西......?
或者我应该为他们每个人创建类(结构)?包含晶体管向量的单元类,然后是包含单元格向量的Register类?但是如果后来我想通过晶体管访问我的数据,而不是通过芯片?
还有其他方法吗?
谢谢
编辑:忘了提及:我不能使用提升。
让我想起Charniak等人的书人工智能编程的讨论的。在设计一个基于类似的系统之后,他们不记得什么属性(cadar x)的含义(粗略地,x.first.second.first),并且不能重新设计它。 – 2009-03-03 15:30:20