我读了一本书,其中给出了 .h 文件的示例,它相当于 java 中的队列接口:
void InitQueue(Queue* pQueue, int iSize);
bool Insert(Queue* pQueue, const Item* pItem);
bool Extract(Queue* pQueue, Item** pItem);
bool GetFirst(const Queue* pQueue, Item** pItem);
bool IsFull(const Queue* pQueue);
bool IsEmpty(const Queue* pQueue);
我不明白两件事:
- 为什么在
Extract, GetFirst
第二个参数是类型Item**
而不是Item*
?当我们写这样的事情时是什么意思? - 为什么在某些函数 (
IsFull, IsEmpty
, ..) 我们得到参数const Queue*
而不是简单的Queue*
?