智能指针是行为类似于指针的类对象,单这种对象还有其他功能。本节介绍三个可帮助管理动态内存分配的智能指针类。先来看看需要哪些功能以及这些功能是如何实现的。请看下面的函数:void remodel(std::string & str){ std::string * ps = new std::strin ...
分类:
编程语言 时间:
2016-07-17 12:20:33
阅读次数:
226
1. 智能指针的意义 (1)现代C++开发库中最重要的类模板之一 (2)C++中自动内存管理的主要手段 (3)能够在很大程度上避开内存相关的问题(如内存泄漏、内存的多次释放等) 2. STL中的智能指针 (1)auto_ptr智能指针 ①生命周期结束时,销毁指向的内存空间 ②只能用来管理单个动态创建 ...
分类:
其他好文 时间:
2016-07-02 13:05:55
阅读次数:
157
1利用栈对象自动释放(可以禁止析构函数就不能产生栈对象了哦 小技巧) 利用栈对象出作用域自动释放的特性构造一个空的智能指针类 2解决智能释放问题,只要这样就不用手工delete类指针了 在智能指针类的析构函数里面delete对象成员去对象里面释放垃圾指针等.. 3解决被智能指针代理的真实对象的函数的 ...
分类:
其他好文 时间:
2016-06-05 23:01:19
阅读次数:
193
一、智能指针1.类类型对象,在其内部封装了一个普通指针。当智能指针对象因离开作用域而被析构时,其析构函数被执行,通过其内部封装的普通指针,销毁该指针的目标对象,避免内存泄露。2.为了表现出和普通指针一致的外观和行为,重载了解引用运算符(*)和间接成员访问运算符(->)函数,令其使用者可以将一个智能指...
分类:
其他好文 时间:
2015-10-15 22:17:41
阅读次数:
255
auto_ptr它是C++标准库()为了一个智能指针类模板来解决资源泄漏所提供的问题(注意:这只是一个简单的智能指针)auto_ptr在事实原则的实现RAII,对资源的访问,在施工时间。释放资源时,析构函数,而相关的指针操作超载。使用起来就像普通的指针。std::auto_ptr pa(new Cl...
分类:
编程语言 时间:
2015-08-13 08:49:24
阅读次数:
229
使用OSG的人都知道OSG的内存管理方式采用了智能指针,通过智能指针的方式让OSG自己处理对象的销毁工作。在OSG中有两个智能指针类型,一个就是我们再熟悉不过的ref_ptr,另外一个可能很多人不一定经常用,但确实非常好的observer_ptr。这两种类型都是作为智能指针而出现的,那他们到底有什么区别?为什么会出现两个类似的东西?下面我们慢慢揭开它们的面纱。
其实它们是两种智能指针类型...
分类:
其他好文 时间:
2015-08-04 15:40:37
阅读次数:
198
1、C++中一般采用下面三种方法之一管理指针成员:
(1)指针成员采取常规行为。这样的类具有指针的所有缺陷:具有指针成员且使用默认复制构造函数和赋值操作符,无法避免悬垂指针(两个对象的指针成员指向同一内存,删除了其中一个指针指向的内存时,另一个指针将不再指向有效的内存空间)。
(2)类可以实现所谓的"智能指针"行为。引入计数类,智能指针类将一个计数器与类的对象相关联。使...
分类:
编程语言 时间:
2015-07-08 16:36:39
阅读次数:
237
//【C++】智能指针auto_ptr的简单实现
#include
using namespace std;
template
class auto_ptr
{
public:
auto_ptr(_Ty *_P = 0) :_Owns(_Ptr != 0), _Ptr(_P)
{}
auto_ptr(const auto_ptr &p):_Owns(p._Owns),_Ptr(...
分类:
编程语言 时间:
2015-06-05 17:32:36
阅读次数:
135
STL智能指针使用方法auto_ptr pi(new int(1024));定义智能指针类(使用计数)实现代码:class RealPtr {
friend class AutoPtr;
int *ip;
size_t use;
RealPtr(int *p) : ip(p), use(1) {}
~RealPtr() { delete ip; }...
分类:
其他好文 时间:
2015-04-13 09:41:23
阅读次数:
194
#include #include#includeusing namespace std;//智能指针的使用//智能指针类class U_ptr{ friend class hashptr; int *ip;//在hashptr中实际的需要定义的指针成员 size_t use;//使用次数的计数 U...
分类:
其他好文 时间:
2015-04-06 17:12:42
阅读次数:
163