C++ 用堆实现队列
我正在尝试实现一个队列 这是我的框架C++ 用堆实现队列,c++,heap,C++,Heap,我正在尝试实现一个队列 这是我的框架 class Queue { HANDLE heap; Int *buf; Int head, tail; Int spaceAllocated; Int sizeQ; public: void Push (Int item); Int Pop (Int *array, int batchSize); } 我使用WindowsAPI使用堆来完成这项工作。 缓冲区的用途是什么?它是如何使用的?我
class Queue {
HANDLE heap;
Int *buf;
Int head, tail;
Int spaceAllocated;
Int sizeQ;
public:
void Push (Int item);
Int Pop (Int *array, int batchSize);
}
我使用WindowsAPI使用堆来完成这项工作。
缓冲区的用途是什么?它是如何使用的?我知道这与堆和内存有关 *Buf是用于存储项目的实际内存指针。我想您在这里使用VirtualAlloc来创建缓冲区?如果是这样,您需要知道队列的最大大小
另外,为什么不能使用STL队列 考虑一下:您将推送到队列中的对象存储在哪里?我对Windows API一无所知,但您需要一个数据结构来保存数据,对吗?如果没有使用缓冲区,您将在哪里保存它们?