我有一个程序,用户输入他们想要的队列数。我的程序是否有可能以某种方式获取该数字并动态创建队列(名称和所有)。此外,一旦创建了队列,我希望能够遍历它们,所以我想将它们放在一个名为 arrayOfQueues 的数组中。最后要注意的是队列中包含一个名为 Process 的结构。
以下代码可能有助于更好地设置我的方案:
更新:
void function(int numQueues){
vector<queue<Process>> vectorOfQueues;
for(int i=0; i<numQueues; i++){
vectorOfQueues.push_back(queue<Process>());
}
答案 0 :(得分:3)
如果您只想创建一个可迭代的队列集合,请执行Kerrek suggests并使用vector
个队列。但是你说你想要命名它们。在这种情况下,您可能希望将它们保存在std::unordered_map<std::string,std::queue<Process>>
中,以便通过其名称访问它们。
关于您的更新,它太复杂了。同样可以更容易实现:
std::vector<std::queue<Process>> vectorOfQueues(numQueues,std::queue<Process>{});
或
std::vector<std::queue<Process>> vectorOfQueues;
vectorOfQueues.resize(numQueues);
就足够了。