我从一些算法书籍中阅读了 Queue 的实现,有一个片段对我来说是新的/有趣的,但我不明白。我认为这是新的东西,比如 C++11 中向量的初始化列表,但由于代码的上下文,我没有那么自信。任何人都可以阐明或提供一些参考吗?
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
//...
}
有问题的部分是数据({cap}),这是什么?它将向量的大小调整为上限?(很明显,代码的作者打算在构造数据时给数据一个大小。)
编辑:阅读第一个答案和测试后,我们知道这本书的片段中有错误。它打算给出一个初始上限,但它使用了错误的 {}。