我开发了用于在c ++中创建固定大小队列的代码。我很惊讶如何扩展std :: queue以获得此功能。我查看了其他类似的SO问题,但他们没有给出如何做到这一点的明确例子。是否有任何例子我可以参考如何做到这一点。感谢
template<typename T>
class fixed_size_queue: public std::queue<T>
{
public:
fixed_size_queue(unsigned int size);
};
void fixed_size_queue::fixed_size_queue(unsigned int size)
{
this->size()= size;
}
答案 0 :(得分:2)
您不应该扩展标准容器,因为它非常不安全。更好的解决方案是创建自己的类,并使用std::queue
作为类成员以及您的类所需的任何内部限制。
答案 1 :(得分:0)
这是您可以将队列扩展为固定大小的方法。
ajax._defaultHeaders = {};
function isObject(obj) { return Object(obj) === obj; };
ajax.set = (function (field, value) {
if (isObject(field)) {
for(var key in field) this.set(key, field[key]);
return this;
}
this._defaultHeaders[field] = value;
return this;
}).bind(ajax)