码迷,mamicode.com
首页 >  
搜索关键字:智能指针    ( 834个结果
c++智能指针
记得前不久有一次面试被问到智能指针的实现,当时对智能指针只是听说但没有了解过,就乱七八糟地说了一遍。今天写了一遍智能指针,用了引用计数的概念。         主要思想就是,用一个新类对原本需要的类型进行了一层封装,这个新类中保存了原本的对象指针和一个引用计数的指针,之所以全部用指针来保存,就是因为会出现多个新类的对象引用到同一个指针,这样的话当我们修改原本对象的内容以及引用计数时,就很天然性地...
分类:编程语言   时间:2014-09-03 09:44:36    阅读次数:221
引用计数的智能指针的实现
引用计数的智能指针是对《Effective C++ 条款13:以对象管理资源》的一个实现。我们要设计一个智能指针,使他能够管理资源,在正确的实际调用资源的析构函数。首先我们需要一个指针reference来指向资源,当智能指针构造时,用reference指针指向资源,在我们确定资源应该被析构时,我们对...
分类:其他好文   时间:2014-09-01 20:57:53    阅读次数:319
Effective C++ 笔记三 资源管理
条款13:以对象管理资源许多资源被动态分配于heap内而后被用于单一区块或函数内。它们应该在控制流离开那个区块或函数时被释放。标准程序库提供的auto_ptr正是针对这种形式而设计的特制产品。auto_ptr是个类指针对象,也就是智能指针,其析构函数自动对其所指对象调用delete。以对象管理资源的...
分类:编程语言   时间:2014-08-31 19:59:51    阅读次数:292
c++智能指针(2)
weak_ptr示例/*// 使用shred_ptr的主要原因就是避免关注指针指向的资源// 只能指针将自动释放与不再需要的对象的相关资源// 但是某些情况下,这种却不是我们需要的。// 比如 循环引用.两个对象都引用对方。// 又或者 分享一个对象 但是不占有该对象/...
分类:编程语言   时间:2014-08-31 18:35:21    阅读次数:261
友元函数
为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。...
分类:其他好文   时间:2014-08-31 18:25:31    阅读次数:212
C++11 智能指针unique_ptr使用 -- 以排序二叉树为例
用智能指针可以简化内存管理。以树为例,如果用普通指针,通常是在插入新节点时用new,在析构函数中调用delete;但有了unique_ptr类型的智能指针,就不需要在析构函数中delete了,因为当unique_ptr类型的指针P生命结束时(比如对于局部变量,程序执行到局部变量的作用域范围之外).....
分类:编程语言   时间:2014-08-31 15:38:31    阅读次数:246
《Effective C++》学习笔记(五)
原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38850499 前言 昨天已作出预告,今天学习的是整个第三章,资源管理,通读了一遍之后,感觉似懂非懂,于是又再读了一遍。 所谓资源,一旦用了它,将来必须要还给系统。C++中最常用得动态分配内存既是如此,但内存只是你管理的众多资源之一,还有数据库连接、网络...
分类:编程语言   时间:2014-08-27 14:48:57    阅读次数:223
c++智能指针
根据muduo开源库作者陈硕的一些文章。对于多线程下C++编程提出了一些观点。主要是多线程下对象的销毁比较困难,但是由于多线程下,mutext是无法保护析构的。而后提出了智能指针的方案并对使用该指针会遇到的困难和陷阱予以说明并提出解决方案。该作者博客http://www.cppblog.com/So...
分类:编程语言   时间:2014-08-24 17:53:52    阅读次数:272
BOOST之scoped_ptr源码及与auto_ptr的区别
BOOST库里面给出的几种智能指针中最简单也是与auto_ptr最接近的一种指针。...
分类:其他好文   时间:2014-08-21 17:16:44    阅读次数:171
Effective C++ 条款17 以独立语句将newed对象置入智能指针
对于函数: int priority(); void processWidget(std::tr1:: shared_ptr pw,int priority); 调用以上函数 processWidget(new Widget,priority()); 以上调用错误,因为shared_ptr构造函数需...
分类:编程语言   时间:2014-08-20 16:11:22    阅读次数:194
834条   上一页 1 ... 73 74 75 76 77 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!