1、shared_ptr which allow multiple pointers to refer to the same object
Table 12.1 Operations common to shared_ptr and unique_ptr`
Table 12.1 Operations common to shared_ptr and unique_ptr`
shared_ptr<T>sp Null smart pointer that can point to objects of T type
unique_ptr<T>up
p Use p as an condition,true if p points to an object.
*p Dereferencece p to get the object to which p points.
p->mem Synonem for (*P).mem.
p.get() Return the point in p.Use with caution;the object to the returned pointer points will disappear when the smart pointer deletes it.
swap(p,q) swap the points in p and q.
p.swap(q)
Table 12.2 Operations specific to shared_ptr
make_shared<T>(agrs) Return a shared_ptr pointing to a dynamically allocated
object of type T.Uses args to initialize that point.
shared_ptr<T>p(q) p is a copy of the shared_ptr q;increments the count in q.The pointer in q must be convertible to T*
p=q p and q are shared_ptrs holding pointers that can be converted to one another.Decrements p's reference count and increments q's count;deletes p's existing memory if p's count goes to 0.
p.unique() Return true if p.use_count() is one ,false otherwise.
p.use_count()