定义一个std::queue的template数据
时间: 2024-04-30 13:19:11 浏览: 9
以下是一个std::queue的template数据定义示例:
```
template<class T, class Container = std::deque<T>>
class queue {
public:
explicit queue(const Container&);
explicit queue(Container&& = Container());
template<class Alloc> explicit queue(const Alloc&);
template<class Alloc> queue(const Container&, const Alloc&);
template<class Alloc> queue(Container&&, const Alloc&);
template<class Alloc> queue(queue&&, const Alloc&);
bool empty() const;
size_t size() const;
T& front();
const T& front() const;
T& back();
const T& back() const;
void push(const T&);
void push(T&&);
template<class... Args> void emplace(Args&&... args);
void pop();
void swap(queue& q);
};
```
其中,T是队列中元素的类型,Container是底层容器的类型。默认情况下,底层容器使用std::deque。queue可以使用多种构造函数来初始化,也提供了用于查询队列大小、访问前后元素、压入和弹出元素等操作。