下面的代码展示了一个糟糕的内存管理示例;item 永远不会被取消分配,因为它会返回它的临时副本。
我已经断断续续地搜索编程论坛好几个星期了,但还没有找到关于如何正确返回类型 Item* 的有效实例同时允许解除分配项目的明确解释。换句话说,有什么比这个代码更好的替代方法来完成相同的返回值,但允许项目被取消分配?
Item* Inventory::add(const string& name)
{
Item* item = new Item(name);
...(some other code here)...
return item;
}
谢谢!