如何在c++中动态创建一个具有列表底层数据结构的队列

How do I dynamically create a queue with an underlying data structure of list in c++?

本文关键字:列表 一个 队列 数据结构 c++ 动态 创建      更新时间:2023-10-16

我想创建一个动态队列(使用关键字new),它的底层数据结构是c++中的list,但我无法理解它的语法

queue<int, list<int>> myQueue = new queue<int, 

但我不知道该用什么来结束这条线。有人能帮我吗?感谢

new指令返回一个指针,因此您根本不会完成那行。如果您坚持使用new,则需要将变量类型作为指针。new右侧的类型将与正在初始化的变量的指针类型相同。

queue<int, list<int> >* myQueue = new queue<int, list<int> >;

通常,要动态分配任何类型的X,只需编写new X即可。也许你有点困惑,因为你的类型的全名有多复杂(逗号、尖括号、多个标记等)。你可以用typedef来简化它,给这个名称一个单一的标记名:

typedef queue<int, list<int> > int_list_queue;

然后你可以写这个:

int_list_queue* myQueue = new int_list_queue;

如果你真的不需要指针,那么声明就更简单了:

queue<int, list<int> > myQueue;
// or
int_list_queue myQueue;