我正在尝试创建指向我的对象的指针数组的哈希。
哈希键是对象类型的 int,数组是要渲染的对象的列表。
我想做的是:
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
...
还是我这样做完全错误?