假设您有这样的课程
class Level
{
public:
Level(std::string);
~Level();
private:
Bitmap* map;
}
在课堂上你有这个
Level::Level(std::string)
{
map = new Bitmap(path);
}
想知道你能打电话吗
Level::~Level()
{
delete map;
}
因为我担心课程是否超出范围并且我没有删除地图。那么,这不会导致内存泄漏。我是否必须手动调用才能删除地图。如果我在程序的构造函数中调用 delete,我会崩溃。
就像我可以在 Level 中添加一个名为 say destroy map 的方法,我在其中删除地图。但是,想知道为什么我不能将删除添加到析构函数中。