码迷,mamicode.com
首页 >  
搜索关键字:5 c++ boost 智能指针    ( 2698个结果
智能指针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
string为什么可以写入共享内存
我今天在想这个vector,map为什么不能写入共享内存,原来是因为new的时候只是new了这个对象在共享内存上,而真正的堆上的内存并没有在共享内存里面的,如果要想vector可以共享就要重写分配器或者用boost的,看了我们那个结构体还是很复杂的,肯定不适用,看来只有改成数组,对于string为什...
分类:其他好文   时间:2014-08-06 01:34:30    阅读次数:252
(转)c++模板函数声明定义分离编译错误详解
当我们声明和定义一个模板的时候,必须要让声明和定义放在一个文件里。否则编译器会报错。这就是为什么boost的实现文件的后缀名是hpp了。这其中的理由是什么呢?为什么会这样?首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代...
分类:编程语言   时间:2014-08-05 22:10:20    阅读次数:209
boost-log-库 使用经历
最近想整一个日志库,以前使用过log4cplus,看到了boost推出了1.54版本之后,就开始有了一个log库。这个log看了介绍,之后开始尝试去使用。主要的应用场景是让多个模块(so,dll)使用。场景是一个程序,多个...
分类:其他好文   时间:2014-08-05 19:42:00    阅读次数:1026
boost之date_time库
最近开了boost库的学习,就先从日期时间库开始吧,boost的date_time库是一个很强大的时间库,用起来还是挺方便的。以下算是我学习的笔记,我把它记录下来,以后便于我复习和查阅。#include#include#includeusing namespace std;using namespa...
分类:其他好文   时间:2014-08-05 00:11:59    阅读次数:388
【C/C++】友元函数
为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率 如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数 为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可...
分类:编程语言   时间:2014-08-04 13:45:37    阅读次数:354
win7下编译boost库总结
很多情况下都会用到boost库,之前可能通过boostpro直接下载编译好的二进制库,不过遗憾的是目前不再可用了。下面给出手动编译的过程说明,以版本1.44为例进行说明;第一步,执行bootstrap.bat,将会在同目录下生成bjam.exe.后面的编译将依赖于bjam.exe注:bjam.exe...
分类:Windows程序   时间:2014-08-01 15:55:41    阅读次数:272
[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++中智能指针可以防止出现野指针、内存泄露等情况,智能指针的类中包含4个函数:构造函数、拷贝构造函数、重载复制操作符、析构函数。构造函数需要对引用计数和指针进行初始化,引用计数初始化为1,拷贝构造函数完成对象之间的拷贝,要注意引用计数的变化和判断两个指针是否指向相同的内存。重载复制操作符,需要判断的情况是左值代表的指针如果引用计数减为0,要释放相应的内存,避免发生内存泄露。析构函数中先判断引用计...
分类:其他好文   时间:2014-07-30 01:02:42    阅读次数:199
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!