複数の値を持つキューを探していますが、デフォルトでは次のstd::queue
ような 2 つの値しかサポートされていません
queue<int, int> myqueue;
8 つの要素があり、このようなキュー (PUSH、POP など) の同じ機能が必要です。
queue<int, int, int, int, int, int, int, int> myqueue;
複数の値を持つキューを探していますが、デフォルトでは次のstd::queue
ような 2 つの値しかサポートされていません
queue<int, int> myqueue;
8 つの要素があり、このようなキュー (PUSH、POP など) の同じ機能が必要です。
queue<int, int, int, int, int, int, int, int> myqueue;
キューを正しく使用していません。を指定することにより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]; }
。
std::vector
たとえば、キューに保存するだけです。または、値の意味が異なる場合は、カスタム構造を作成して、代わりにキューに保存します。ちなみに、std::queue
各要素が単一の値であることを意味する単一の値を格納します(それがあなたが意図したものである場合)。