我想用c++写一个队列类,看到网上有结构体是这么写的
typedef struct Queue_tag{ int data[MAXSIZE];
int front,rear;
}QUEUE;但是实例化类时好像只能通过改写MAXSIZE来更改队列初始化大小
我想在构造函数里输入参数来确定大小,于是我写了下面的结构体,然后在函数里new了一个随参数改变长度的数组,并让*arr指向这个数组,请问这么做有没有问题,我看好多代码数组在结构体里都直接确定了大小,那有没有什么办法可以不通过更改宏定义而是通过构造函数来初始化大小呢
struct queue
{
T *arr;
T *head;
T *tail;}*q;
void initQueue(int lenght)
{
q = new queue;
T *p = new T[lenght];
q->arr = p;
q->head = p;
q->tail = p;
}扬帆大鱼
德玛西亚99