【文件属性】:
文件名称:C++ 解环引用智能指针
文件大小:5KB
文件格式:RAR
更新时间:2017-06-23 13:00:40
智能指针 解环引用
一、使用方法:
1、 将shared_ptr.hpp,shared_ptr.cpp加入 到项目工程中;
2、 如果不需要支持多线程,可以在 "shared_ptr.hpp"文件最开始处定义:
#define SHARED_PTR_SINGLETHREAD;
3、 在使用前: using namespace YDSH_PTR;
4、 shared_ptr p=new(ydsh,(classtype*)0) classtype;其中,classtype为类类型;
5、 也可以直接管理数组类指针,如:shared_ptr p=new(ydsh,(classtype*)0) classtype[5]; p[2]=....;
二、特点:
1、 线程安全;
2、 可以解环引用;
3、 内存可以立即释放,无需像JAVA等垃圾回收器在回收时挂起工作线程;
4、 可以管理用new分配的内存块中的部分内存空间,即可以替代C++引用,并且保证内存正常释放,如:
class A{};
class B{public: A a;};
shared_ptr pb=new(ydsh,(B*)0) B;
shared_ptr pa=&pb->a;
5、 可以同时管理数组类指针;
三、 缺点:
1、 分配小内存数据时,内存浪费较大;
2、 new使用方法上不太标准,如:shared_ptr pb=new(ydsh,(B*)0) B;
【文件预览】:
shared_ptr.h
shared_ptr.cpp
shared_ptr智能指针使用说明.txt