【发布时间】:2015-04-27 07:19:34
【问题描述】:
我是 C++ 的初学者,但我必须在我的项目中实现一些高级的东西。 基本上我想创建队列容器的数组。我有一个设备类,它有 op_parmas_t 类型的队列和该队列中的应用程序入队。但是现在我希望不同的线程在不同的队列上操作,但在单个设备上,所以我需要设备类中的队列数组。
class DeviceCPU : publice Device {
Public:
DeviceCPU();
~DeviceCPU();
int enqueue(op_params_t *op);
Private:
std::queue<op_params_t *> opsEnqueued;
}
但是对于多个线程,我想要不同的队列。所以我想创建队列数组, 类似的,
std::queue<op_params_t *> opsEnqueued[MAX_THREADS];
或者我可以创建队列的向量,但我不知道具体如何,需要一些指针。
【问题讨论】:
-
所有必要的指针都已经在这里了:en.cppreference.com/w/cpp
-
您提供的代码 -
std::queue<op_params_t *> opsEnqueued[MAX_THREADS];- 确实是queues 的数组...您是否尝试过,如果是,您遇到了什么具体问题?正如您所说,std::vector<std::queue<>>是另一种选择 - 是否更方便或资源友好取决于您的代码如何使用它......希望您在编写应用程序时会意识到哪个更好。 -
我还想了解为什么人们不赞成这个问题。也许我可以让它变得更好。
标签: c++ stl containers