1

複数の値を持つキューを探していますが、デフォルトでは次のstd::queueような 2 つの値しかサポートされていません

queue<int, int> myqueue;

8 つの要素があり、このようなキュー (PUSH、POP など) の同じ機能が必要です。

queue<int, int, int, int, int, int, int, int> myqueue;
4

2 に答える 2

2

キューを正しく使用していません。を指定することによりqueue<int>、必要な数の要素を使用pushおよびpop挿入できます。http://en.cppreference.com/w/cpp/container/queueも参照してください。

正確に8つの要素を保持できるコンテナが必要な場合は、固定サイズのboost :: Circular_bufferを使用することをお勧めします:http ://www.boost.org/doc/libs/1_52_0/libs/circular_buffer/doc/circular_buffer .html

一度に8つの要素をプッシュする場合はstd::vector、キュー項目としてaを使用するか、8タプルtuple<int, int, int, int, int, int, int, int>または配列メンバーを持つ構造体を使用しますstruct EightInt { int data [8]; }

于 2013-01-15T07:10:21.793 に答える
0

std::vectorたとえば、キュ​​ーに保存するだけです。または、値の意味が異なる場合は、カスタム構造を作成して、代わりにキューに保存します。ちなみに、std::queue各要素が単一の値であることを意味する単一の値を格納します(それがあなたが意図したものである場合)。

于 2013-01-15T07:11:37.453 に答える