0

我有一个程序,用户可以在其中输入他们想要的队列数量。我的程序是否有可能以某种方式获取该数字并动态创建队列(名称和所有)。此外,一旦创建了队列,我希望能够遍历它们,所以我想将它们放在一个名为arrayOfQueues的数组中。最后要注意的是队列包含一个名为Process的结构。

以下代码可能比我键入它更好地帮助设置我的场景:

更新:

void function(int numQueues){
vector<queue<Process>> vectorOfQueues;
for(int i=0; i<numQueues; i++){
    vectorOfQueues.push_back(queue<Process>());
}
4

1 回答 1

3

如果您只关心创建一个可迭代的队列集合,请按照Kerrek 的建议进行操作并使用 a vectorof queues。但你说你想给他们起名字。在这种情况下,您可能希望将它们保存在一个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);

足够了。

于 2012-11-07T23:39:03.063 回答