The Leak of The Memory in C++ 1.2

来源:互联网 发布:孙悟空知乎 编辑:程序博客网 时间:2024/06/05 07:05
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.
  
 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;}


0 0
原创粉丝点击