接上一节Android轻量级智能指针,我们考虑一个稍复杂的场景:相互引用带来的死锁问题。
#include <iostream>
#include <string.h>
#include <unistd.h>
#include "RefBase.h"
using namespace std;
using namespace android::RSC;
class Person : public LightRefBase<Person>{
private:
sp<Person> father;
sp<Person

本文探讨了在C++和Android开发中,由于对象间的相互引用可能导致的死锁问题。通过分析一个父亲对象father和儿子对象son互相引用的例子,揭示了强引用关系使得对象无法正常释放。为了解决这个问题,文章介绍了弱引用的概念,指出弱引用不会影响对象的生命周期,从而在交叉引用场景下防止内存泄漏。
最低0.47元/天 解锁文章

1024

被折叠的 条评论
为什么被折叠?



