很多时候,我发现自己必须为多维数据定义一个容器.
让我们举一个例子:我有很多芯片,每个芯片有很多寄存器,每个寄存器有很多单元,每个单元有很多晶体管.
在我的C++程序的某个阶段,我必须阅读这些数据,后来我必须使用它.
我不能为这些数据使用任何外部存储:文件,数据库等.
那么,我应该创建一些多维STL容器吗?矢量地图或类似的地图......?
或者我应该为每个人创建类(结构)?包含Transistors矢量的Cell类,然后是包含Cells矢量的Register类等?但是如果以后我想通过晶体管而不是芯片访问我的数据呢?
还有其他方法吗?
谢谢
编辑:忘记提及:我不能使用提升.
您需要映射您的域名.
那么,我应该创建一些多维STL容器吗?矢量地图或类似的地图......?
每个矢量/地图将包含某种类型的对象.这将我们带到你的下一个问题:)
或者我应该为每个人创建类(结构)?
看起来这就是你至少需要的东西.
包含Transistors矢量的Cell类,然后是包含Cells矢量的Register类等?
看看两者has-a
和is-implemented-in-terms-of
设计.
但是,如果以后我想通过晶体管而不是芯片对数据进行排序呢?
什么数据?您可以随时根据上下文传递比较器.另外,问问自己是否真的需要将Transistor
等级细节公开给使用a的人Chip
.这将有助于开始.