我需要創建一個非常快速的方式來獲取對象列表,我想一個對象數組數組可以工作。也許有不同的方式來做到這一點,所以隨時推薦一個備用的實現。我有一組對象,我需要按指定值分組。例如,我將有一組需要通過數字10訪問的對象。因此,我會使用數字10找到對象組,然後遍歷每個對象以在每個對象上執行任務。對象數組的陣列
10 - Object1, Object2, Object3
11 - Object4, Object5
我需要非常快的訪問這些對象,這就是爲什麼我想對象的數組的數組。我查看了矢量和地圖,但完全不瞭解它們。
我使用g ++編譯器在樹莓派上使用C++。
請讓我知道你的想法,我非常感謝你提前。
你想如'的std :: multimap中'或'的std :: unordered_multimap '? –
ikh
2014-08-30 02:39:05
使用'multimap'是鍵可以重複,在這種情況下會浪費key的每個對象的'sizeof(key)'。看問題,如果關鍵是在一個範圍內,你可以使用'std :: vector >>'(在外部向量的每個索引中將是該索引的對象,可以使用基本索引跳過索引如果範圍是例如1000-2000,如果密鑰是分散的,使用'std :: map >',對象集合的搜索是** O(log keys)* *和對象的迭代緩存友好 –
NetVipeC
2014-08-30 02:57:39