xyj8035
2021-10-12 17:05
采纳率: 50%
浏览 36

c++ 如何free泛型结构体成员指针

我自定义了多个结构体,
例如A结构体如下
typeset struct A{
int index;
char* buf;
}
B结构体如下
typeset struct B{
char name[8];
char* str;
}

然后使用模板写了一个队列类,其中写了一个函数来释放队列中的元素,大致意思如下

template
int Queuepop()
{
T p=this->front();
free(p);
}
声明两个队列:
Queue qa;
Queue qb;
使用pop函数,
很显然free结构体A或者B时候,A里面的buf指针和B里面的str指针并没有释放掉,请问该怎么释放呢?
能够判别泛型的实际类型然后依次free吗?有没有什么办法free结构体成员变量?

3条回答 默认 最新

相关推荐 更多相似问题