很多時候,我發現自己不得不爲多維數據定義一個容器。我們舉一個例子:我有許多芯片,每個芯片有許多寄存器,每個寄存器有許多單元,每個單元有許多晶體管。C++多維數據處理
在我的C++程序的某個階段,我必須讀取這些數據,之後我必須使用它。
我不能使用該數據的任何外部存儲:文件,資料庫等
所以,我應該創建一些多維的STL容器?矢量地圖的地圖,或類似的東西......?
或者我應該爲他們每個人創建類(結構)?包含晶體管向量的單元類,然後是包含單元格向量的Register類?但是如果後來我想通過晶體管訪問我的數據,而不是通過芯片?
還有其他方法嗎?
謝謝
編輯:忘了提及:我不能使用提升。
讓我想起Charniak等人的書人工智能編程的討論的。在設計一個基於類似的系統之後,他們不記得什麼屬性(cadar x)的含義(粗略地,x.first.second.first),並且不能重新設計它。 – 2009-03-03 15:30:20