问题描述
- 类中的内存分配和指针类型强制转换问题
-
问题描述:
template //element type
class list
{
private:
EleT data;//数据本身,即是需要的信息
list* prio;//the pointer of prior element
list* next;//the pointer of next element
list* last;//the last pointer of list
int len;//the length of list
public:
list()
{
len=0;
last=prio=next=NULL;
}
void append(eleT e)
{
list* temp=(list*)malloc(sizeof(data)+ sizeof(list*));
if(len==0)
...
else
...
}
};
我这样的后续节点会存在什么问题,我自己测试过,发现在后续的使用中,是可以访问data和前后节点的属性的,但我总担心会有问题,求解觉疑惑
解决方案
C++分配内存,特别是对象的内存,建议使用new delete,不要使用malloc和free
时间: 2024-08-03 02:46:33