所以在概念上,我試圖創建一個指向我的對象的指針數組散列。向量的C++ unordered_map
散列鍵是對象類型的整數,而數組是要呈現的對象的列表。
我試圖做的是:
unordered_map<int, vector<Object*> > drawQueue;
drawQueue.clear(); // new empty draw queue
for (...) {
drawQueue.at(type).push_back(my_obj);
}
所以我不會的東西STL的細微差別相當熟悉,因爲我得到一個異常說out_of_bounds,這是當密鑰將會怎麼樣不存在。
所以我想我需要先創建密鑰,然後添加到載體:
if (drawQueue.count(type)) {
// key already exists
drawQueue.at(type).push_back(my_obj);
} else {
//key doesn't exist
drawQueue.insert(type, vector<Object*>); // problem here
drawQueue.at(type).push_back(my_obj);
}
但現在我真的失去了,因爲我不知道如何創建/初始化/什麼一個空的vector
插入的unordered_map
...
或者我這樣做是完全錯誤的方式?
任何提示明智的人?
你看看operator []的?或insert()的實際文檔? – PlasmaHH
**接受**答案,這很有用。 – gsamaras