Introduce to Smart Pointer

In computer science, a smart pointer is an abstract data type that simulate a pointer while providing additonal features. -- [WikiPedia](http://en.wikipedia.org/wiki/Smart_pointer)

In the C++ language, smart pointer implements as a template class and override the behaviour of raw pointer, such as ...