C++ C++;具有多个值的队列

C++ C++;具有多个值的队列,c++,data-structures,C++,Data Structures,我正在寻找一个具有多个值的队列,但是默认的std::queue只支持两个值,如 queue<int, int> myqueue; queue-myqueue; 我有八个元素,希望队列的功能(推送、弹出等)与此相同 queue<int, int, int, int, int, int, int, int> myqueue; queue-myqueue; 您没有正确使用队列。通过指定queue,您可以使用push和pop插入任意数量的元素,另请参见: 如果您想要一个能够

我正在寻找一个具有多个值的队列,但是默认的
std::queue
只支持两个值,如

queue<int, int> myqueue;
queue-myqueue;
我有八个元素,希望队列的功能(推送、弹出等)与此相同

queue<int, int, int, int, int, int, int, int> myqueue;
queue-myqueue;

您没有正确使用队列。通过指定
queue
,您可以使用
push
pop
插入任意数量的元素,另请参见:

如果您想要一个能够容纳8个元素的容器,您可能需要使用固定大小的boost::circular\u缓冲区:


如果您想一次推送8个元素,只需使用
std::vector
作为队列项,或使用8元组
tuple
或具有数组成员的结构:
struct EightInt{int data[8];}

例如,只需将
std::vector
存储在队列中即可。或者,如果这些值有不同的含义,只需创建一个自定义结构并将其存储在队列中即可。顺便说一句,
std::queue
存储一个值,这意味着每个元素都是一个值(如果这是您的意思)。

无法通过两个参数对
queue
模板进行参数化,如您所示。你能详细解释一下“两个值”或“八个值”是什么意思吗?试着用
队列来代替。如果你有八种类型,这将变得单调乏味;看看
std::tuple.
你想一次推送和弹出8个整数吗?@Mat:是的,同时8个元素我必须自己编写推送和弹出功能:(我相信OP是指每个条目由8个值组成。哦,好吧,在我发布我的答案后,他更改了问题。将更新。谢谢你,Anteru没有提供推送、弹出以及类似队列的功能,否则我会考虑使用struct。我正在构建一个大队列,在其中一个一个推送和弹出消息,或者一个
std::数组。)