【发布时间】:2012-07-12 01:57:25
【问题描述】:
我想知道,如果我在 main 中使用 new 关键字创建一个对象,然后将该对象(指针)设置为由另一个类的成员指向,将原始指针设置为 null,我将在哪里删除分配的记忆?我可以在第二个类的析构函数中做到这一点,但如果该对象不是动态分配的呢?
一些代码作为例子:
World world;
Player* newPlayer = new Player("Ted");
world.setPlayer(newPlayer);
newPlayer = 0;
所以现在 World 中的 'player' 成员变量指向由 newPlayer 分配的内存,而 newPlayer 指向 null。使用完 World 对象后,我应该如何释放此内存?
【问题讨论】:
标签: c++ memory-management