gpt4 book ai didi

c++ - 创建固定大小队列的 vector ( boost 循环队列)

转载 作者:行者123 更新时间:2023-11-30 05:48:30 25 4
gpt4 key购买 nike

我有两个问题:1. 如何创建一个 boost 循环队列 vector ?2. 前者的vector大小应该如何表示?

我尝试了以下但出现错误

// Boost Circular Queue -- This works fine

boost::circular_buffer<pkt> pkt_queue(3);

// Vector of queues - This has errors, i also wish to initialize the vector


std::vector<pkt_queue> per_port_pkt_queue;

最佳答案

你想要一个队列 vector :

#include <boost/circular_buffer.hpp>

struct pkt { int data; };

int main() {
// Boost Circular Queue -- This works fine
typedef boost::circular_buffer<pkt> pkt_queue;

pkt_queue a_queue(3);

// Vector of queues - This has errors, i also wish to initialize the vector
std::vector<pkt_queue> per_port_pkt_queue;

per_port_pkt_queue.emplace_back(3);
per_port_pkt_queue.emplace_back(3);
per_port_pkt_queue.emplace_back(3);

// or
per_port_pkt_queue.assign(20, pkt_queue(3)); // twenty 3-element queues
}

查看 Live On Coliru

关于c++ - 创建固定大小队列的 vector ( boost 循环队列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28148627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com