The Leak of The Memory in C++ 1.2
Last time I showed a smart pointer has some side effect. This time
I'll show 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.
And you can assign value to them, just like this.
You can use this smart pointer in 99% situation without any
consideration.
This smart pointer is very, very important, it should been konwn by every C++ programmer as 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
Last time I showed a smart pointer has some side effect. This time
I'll show 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_ptr<Person> p1(new Person);
shared_ptr<Person> p2(new Person);
And you can assign value to them, just like this.
shared_ptr<Person> p1(new Person);
shared_ptr<Person> p2 = p1;
shared_ptr<Person> p3(new Person);
p3 = p1;
You can use this smart pointer in 99% situation without any
consideration.
This smart pointer is very, very important, it should been konwn by every C++ programmer as 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 <iostream>
#include <boost/shared_ptr.hpp>
#include "Person.h"
using namespace std;
using namespace boost;
int main(int,char**)
{
shared_ptr<Person> p1(new Person);
shared_ptr<Person> p2(new Person);
shared_ptr<Person> p3 = p2;
p3 = p1;
return 0;
}