小编Ran*_*dom的帖子

C++:关于内存管理

我对C++有点新,到目前为止一直在用Obj-C和Java编程.

说,我有一节课:

class Person {

private:
   Wife *current_wife;
   //.....
};
Run Code Online (Sandbox Code Playgroud)

所以我需要实现一个setter方法来改变Wife实例变量.

像这样:

Person::SetCurrentWife (Wife *new_wife) {

    current_wife = new_wife;
}
Run Code Online (Sandbox Code Playgroud)

这将是一个副本.

所以从主循环或我调用的东西:

Person *some_person = new Person();
...
Wife *wife = new Wife ();
some_person->SetCurrentWife(wife);
Run Code Online (Sandbox Code Playgroud)

所以我很困惑:这里会有内存泄漏吗?我应该在这里或在Person的析构函数中删除妻子对象吗?在Obj-C中,我会释放当前的妻子,然后向上面的妻子对象发送一条保留消息,但在C++中使用setter方法的正确方法是什么?

c++ memory memory-leaks memory-management

12
推荐指数
2
解决办法
831
查看次数

使用NSUserDefaults保存游戏设置/状态的优点?

使用NSUserDefaults来保存游戏状态/设置而不是在普通C中创建二进制文件有什么好处吗?

专门针对iOS游戏.

iphone objective-c ipad ios

4
推荐指数
1
解决办法
1023
查看次数

标签 统计

c++ ×1

ios ×1

ipad ×1

iphone ×1

memory ×1

memory-leaks ×1

memory-management ×1

objective-c ×1