いくつかのアルゴリズムの本から Queue の実装を読みましたが、理解できなかった新しい/興味深いスニペットがあります。C++11 の vector の初期化リストのような新しいものだと思いますが、コードのコンテキストから自信がありません。誰でも光を当てたり、参照を提供したりできますか?
template <typename T>
class Queue {
private:
size_t head, tail, count;
vector<T> data;
public:
Queue(const size_t &cap=8) : head(0),tail(0),count(0),data({cap}) {}
//... more interfaces
//...
}
問題の部分は data({cap}) ですが、これは何ですか? ベクターのサイズを cap? の容量に変更します。(明らかに、コードの作成者は、データを構築するときに上限のサイズをデータに与えるつもりです。)
編集: 最初の回答とテストを読んだ後、本のスニペットにエラーがあることがわかりました。初期キャップを与えるつもりですが、誤った {} を使用しました。