码迷,mamicode.com
首页 >  
搜索关键字:智能指针 raii    ( 914个结果
boost之智能指针
内存管理一直是令C++程序员最头疼的工作,C++继承了C那高效而又灵活的指针,使用起来稍微不小心就会导致内存泄露、野指针、越界访问等访问。虽然C++标准提供了只能指针std::auto_ptr,但是并没有解决所有问题。boost的smart_ptr库是对C++98标准的绝佳补充。它提供了六种智能.....
分类:其他好文   时间:2014-08-09 18:41:18    阅读次数:386
Echo库
Echo网络库概要说明源码分析使用方法概要说明Echo借鉴了大量muduo的代码,并对其进行简化。Echo体现了现代C++两大风格,一是事件回调,我们使用function/bind实现回调机制,用户只需要向其注册回调函数即可,必要时可以封装成class,二是采用智能指针进行资源管理,例如TcpCon...
分类:其他好文   时间:2014-08-08 20:47:26    阅读次数:285
智能指针原理与简单实现(转)
以下实现没有考虑线程安全的问题。智能指针:它的一种通用实现方法是采用引用计数的方法。智能指针将一个计数器与类指向的对象相关联,引用计数跟踪共有多少个类对象共享同一指针。 每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计....
分类:其他好文   时间:2014-08-08 17:31:36    阅读次数:262
shared_ptr
boost::shared_ptr是可以共享所有权的智能指针。下面用例子说明:1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 class Test 8 { 9 public:10 Test()11 {cout p...
分类:其他好文   时间:2014-08-08 01:51:05    阅读次数:306
有序容器自主定义排序器
STL中的set和map是有序容器,使用时如果希望根据自己的需要来设定排序器,通常有一下两种方式。 1.如果容器中直接存储对象的话,那么我们可以在对象类中重载 2.如果存储的不是直接对象的话比如对象的指针(通常为智能指针),这个时候我们就要定义自己的比较器。而比较器的写法一般有两种。  ->1.类内重载函数调用运算符的方法。  ->2.以函数的方式提供比较器。 对于第一种方法是非...
分类:其他好文   时间:2014-08-07 23:14:55    阅读次数:277
智能指针auto_ptr详解
概述:C++中有很多种智能指针,auto_ptr就是其中的一种,该智能指针主要是为了解决“因程序异常退出发生的内存泄漏”这类问题的。 我们先来看下面的问题代码 #include #include #include using namespace std; //一般指针的处理方式 template class OldClass { public: OldClass(T a) { ptr...
分类:其他好文   时间:2014-08-06 22:59:32    阅读次数:326
【C/C++】友元函数
为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率 如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数 为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可...
分类:编程语言   时间:2014-08-04 13:45:37    阅读次数:354
[cocos2dx笔记014]一个用于cocos2dx的对象智能指针模板
现在C++智能指针有无数个实现了,多一个也无所谓。哈。 这个智能指针是专门为cocos2dx 2.2.x定制的。主要是为了方便使用,同时又要遵循现有的cocos2dx的内存管理。特实现这样一个智能指针。在使用的时候不需要考虑retain或release操作,也不需要new或delete操作! 下面是实现代码 //在很多时候,类的成员是CCObject的子对象,为了保证对其正常使用,又要遵循c...
分类:其他好文   时间:2014-08-01 13:44:22    阅读次数:236
c++ 11学习笔记--智能指针
C++ 98的 std::auto_ptr已经被彻底遗弃了,取而代之的是unique_ptr、shared_ptr与weak_ptr。大部分时候我们自己手动申请内存方式内存都是没有问题的,问题是如果程序很大了之后,一个复杂的对象,多次拷贝的代价非常高,很多地方都会使用到,只存在一份拷贝显然是最好的,...
分类:编程语言   时间:2014-08-01 13:27:51    阅读次数:384
C++基础学习教程(八)
引入 在进行下一步的学习之前,我们需要厘清几个概念. RAII 首先介绍一个编程习语,”RAII”(ResourceAcquisition Is Initialization,资源获取即为初始化),他描述了利用构造函数\析构函数,并在函数返回时自动析构的机制.简言之,RAII意为构造函数获取一种资源;打开一个文件,一个网络连接,或仅仅是从某I/O流中复制一些标志.这种获取是对象初始化的一部分...
分类:编程语言   时间:2014-07-30 17:45:34    阅读次数:346
914条   上一页 1 ... 82 83 84 85 86 ... 92 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!