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::数组。)
。