备注:
本篇文章仅仅是本人记录而已,假如需要了解其他关于智能指针知识,请自行百度!!!
template<class T>
class shared_ptr
{
public:
T& operator*() const
{ return *pr; }
T* operator->() const
{ return px; }
shared_ptr(T* p) : px(p) { }
private:
T* px;
long* px;
...
};
struct FOO
{
...
void method(void) { ... }
};
shared_ptr<Foo> sp(new FOO);
Foo f(*sp);
sp->method();
注意:
->操作符,用完一次还可以继续用下去!!!也就是说可以继续作用下去!!!
sp->method() 相当于 px->method()
sp-> 等于 px !!!
-> 继续作用下去得到 px->method()