我正在编写一个模板类,它以指针作为输入并存储它。该指针指向由另一个类分配的对象,并交给包含该类的指针。
现在我想为这个容器创建一个析构函数。我应该如何释放该指针指向的内存?我无法事先知道它是数组还是单个元素。
我对C ++还比较新,请见谅。我一直在使用C,Java是我选择的面向对象语言,但由于想要学习C ++和项目的速度要求,我选择了C ++。
将容器从模板更改为抽象类的容器,可以实现自己的析构函数,这是一个更好的主意吗?
我正在编写一个模板类,它以指针作为输入并存储它。该指针指向由另一个类分配的对象,并交给包含该类的指针。
现在我想为这个容器创建一个析构函数。我应该如何释放该指针指向的内存?我无法事先知道它是数组还是单个元素。
我对C ++还比较新,请见谅。我一直在使用C,Java是我选择的面向对象语言,但由于想要学习C ++和项目的速度要求,我选择了C ++。
将容器从模板更改为抽象类的容器,可以实现自己的析构函数,这是一个更好的主意吗?
在所有情况下,在您可以释放内存之前,必须知道它是如何分配的。
delete
/delete[]
/free()
/用户定义的释放函数,而使用你的类的用户则需要提供一个适当分配的指针。”基本上,你只需要做一些有意义的事情,其他的就不是你的问题了。 - UncleBens
delete
,所以不要给我数组”,而不是试图让它同时适用于两种情况。理想情况下,人们应该使用vector
而不是原始内存数组。 - GManNickG