Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用堆实现队列_C++_Heap - Fatal编程技术网

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一无所知,但您需要一个数据结构来保存数据,对吗?如果没有使用缓冲区,您将在哪里保存它们?