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が提案するように実行し、キューのを使用し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);

十分なものです。

于 2012-11-07T23:39:03.063 に答える