老師說到m_iQueueCapacity是一個常量的時候,突然覺得可以把這個成員用const修飾一下,防止對它做修改。然后在構造函數初始化列表中對它初始化。
const int m_iQueueCapacity; //隊列數組容量
MyQueue::MyQueue(int queueCapacity)
:m_iQueueCapacity(queueCapacity)
{
m_iHead = 0;
m_iTail = 0;
m_iQueueLen = 0;
m_pQueue = new int[m_iQueueCapacity]; //從堆中申請內存有可能失敗,這里暫且不處理
}
const int m_iQueueCapacity; //隊列數組容量
MyQueue::MyQueue(int queueCapacity)
:m_iQueueCapacity(queueCapacity)
{
m_iHead = 0;
m_iTail = 0;
m_iQueueLen = 0;
m_pQueue = new int[m_iQueueCapacity]; //從堆中申請內存有可能失敗,這里暫且不處理
}
2020-02-29
最新回答 / 董瘦瘦
1.用“StructName”替換Customer,結構體如下:struct StructName{????float a;????float b;????float c;};2.構造函數參數改成(float a=0, float b=0, float c=0)3.入隊、出隊時候聲明的結構體變量的成員改成三個浮點型
2019-09-05
最贊回答 / 三夜蟲
STL里隊列和棧的實現都基于雙端隊列deque,要比介紹的兩種連續空間(可以理解為數組)的實現要復雜一些。deque括多段等長的連續空間和一組指向這些空間的指針,隨機訪問和首尾增刪的效率比較高,同時不會占用大塊內存。有興趣的話可以在百度上搜一下deque的實現方法。
2019-06-23