shared_ptr是boost最重要的智能指针,最像智能指针的"智能指针", 由于它的优越表现,被加入了C++11标准。
shared_ptr与scoped_ptr —样包装了 new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针,可以被自由地拷贝和赋值,在任意的地方共享它,和scoped_ptr、auto_ptr一样重载了“*”和“->”, 用get()可以获取被管理的指针,也没有算术操作符,同样也不能管理数组内存,当没有代码使用(引用计数为0)它时才删除被包装的动态分配的对象。
一、shared_ptr 1.1 基本使用方法先包含头文件#include ,注意使用时用boost作用域限定符区分开,防止和std的混淆。 代码如下:
#include
#include
#include "vld.h"
using namespace std;
using namespace boost;
#pragma comment(lib, "vld.lib")
class Student
{
public:
Student()
{
cout
关注
打赏