C++新特性之智能指针(一)——shared_ptr
智能指针之shared_prt 为啥要有智能指针,因为要自己手动分配内存还要自己释放回收,太麻烦,万一忘记了还很容易造成内存泄漏。所以,类似与java内存托管的智能指针来了,C11很重要,使用频率也很高的一个特性。shared_ptr遵循共享资源,多个智能指针对象可以共享这一块资源,the wonderful world comes from sharing. 一、创建以及初始化 std::shared_ptr<int> p1; //创建一个int类型智能指针并且不赋值 std::shared_ptr<int> p2(new int (123));//创建一个int类型智能指针,同时new一个int的对象给它 std::shared_ptr<int> p3 = p1;//拷贝初始化,p3与p1指向相同的内容 std::shared_ptr<int> p4 = std::make_shared<int>();//采用make_shared初始化,在动态内存中创建一个对象给它 std::shared_ptr<int> p5 = std::make_shared<int>(456); //采用make_shared初始化,在动态内存中创建一个对象给它,并初始化为456 std::shared_ptr<int> p6; p6.reset(new int(789));/