假设我有一个类,我希望用户能够引用我的一个成员。哪个是首选?
class Member;
class ClassWithWeakPtr
{
private:
boost::shared_ptr<Member> _member;
public:
boost::weak_ptr<Member> GetMember();
};
或者
class Member;
class ClassWithCppReference
{
private:
Member _member;
public:
Member& GetMember() {return _member;}
};
你怎么看?什么时候比另一个更好?