我正在寻找具有多个值的队列,但默认的 std::queue
仅支持两个值,例如
queue<int, int> myqueue;
我有八个元素,并且想要像这样的队列相同的功能(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
作为队列项,或 8 元组 tuple<int, int, int, int, int, int, int, int>
或具有数组成员的结构:struct EightInt { int data [8]; }
.
关于C++ 具有多个值的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14332673/