Last time I showed a smart pointer has some side effect. This time
I'll you another smart pointer which is much better. Now our hero will show
his ability.
The shared_ptr, this smart pointer looks like a raw pointer when
people use it. Which introduced by boost - one of most inportant c++ libraries. We can
use this smart pointer like the last smart pointer which I already introduced.
Just like this.
shared_ptrp1(new Person); shared_ptr p2(new Person);
And you can assign value to them, just like this.
shared_ptrp1(new Person); shared_ptr p2 = p1; shared_ptr p3(new Person); p3 = p1;
You can use this smart pointer in 99% situation without any
consideration.
This smart pointer is very, very important, every C++ programmer shoud
been known it as an int type.
And this smart pointer already is part of C++11, means you can use it
any where any time. The demo code is below:
appMain.h
#include#include #include "Person.h" using namespace std; using namespace boost; int main(int,char**) { shared_ptr p1(new Person); shared_ptr p2(new Person); shared_ptr p3 = p2; p3 = p1; return 0; }