码迷,mamicode.com
首页 >  
搜索关键字:ptr    ( 2121个结果
boost::shared_ptr与定制删除器
shared_ptrshared_ptr是一种智能指针,他的作用如同指针,但会记录有多少shared_ptr指向同一个对象。使用时必须引用头文件<boost/shared_ptr.hpp>template<classT> classShartedPtr { public: //构造函数 ShartedPtr(T*ptr) :_ptr(ptr) ,_pCount(newint(1)) {..
分类:其他好文   时间:2016-04-05 02:21:14    阅读次数:685
关于shared_ptr
首先了解shared_ptr毫无疑问的是智能指针的一种,智能指针是为了解决在大型代码里无法不好控制指针的问题,例如:在类里面如果出现了动态开辟出来的空间,有一个指针指向这块空间,如果在相应的作用范围之内没有将其delete掉会造成内存的泄漏,所以这样就必须手动的对这一块空..
分类:其他好文   时间:2016-04-04 21:16:42    阅读次数:332
auto_ptr的两种方案
方案一:因为在类中对同一块空间的析构在一次以上,就会发生错误,所以在进行赋值和拷贝构造时(同一块空间有一个以上的指针指向),保证只有一个指针指向这块空间,对原指针赋空操作,这样在析构时一块空间只会被析构一次classAutoPtr { public: //构造函数 AutoPtr(T*ptr) ..
分类:其他好文   时间:2016-04-04 21:08:19    阅读次数:155
Dev C++支持c++11标准的编译方法
一开始学C++的时候老师推荐的就是Dev C++这个IDE,用起来感觉还不错,使用起来比较简单,而且属于比较轻量级的,不怎么占用内存;缺点可能就是调试功能没有项VS那种大型IDE齐全和好用,不过对于一个新手来说绝对足够了。 最近在一些工程中需要用到智能指针的库,比如说auto_ptr以及boost里 ...
分类:编程语言   时间:2016-04-04 14:46:31    阅读次数:143
字符串操作程序
//第四个功能好像用到CTYPE吧 自己好像很麻烦 以后要用再说吧、 #include<stdio.h>#include<string.h>void direct_output(char **ptr){ int i; for(i=0;i<10;i++) puts(ptr[i]);}void asc_ ...
分类:其他好文   时间:2016-04-02 00:45:22    阅读次数:192
C++ 11 新特性
一.统一的初始化方法 二.成员变量默认初始值 三.auto关键字用于定义变量,编译器可以自动判断变量的类型 四.decltype 关键字求表达式的类型 五.智能指针shared_ptr? 头文件: <memory>? 通过shared_ptr的构造函数,可以让shared_ptr对象托管一个new运 ...
分类:编程语言   时间:2016-04-01 20:14:47    阅读次数:273
malloc realloc calloc的区别
realloc,malloc,calloc的区别三个函数的申明分别是:void*realloc(void*ptr,size_tsize);void*malloc(size_tsize);void*calloc(size_tnum,size_tsize);它们的返回值都是请求系统分配的地址,如果请求失败就返回NULLmalloc用于申请一段新的地址,参数size为需要内存空间的长度,如:c..
分类:其他好文   时间:2016-04-01 06:45:39    阅读次数:159
智能指针
1.智能指针template<classT> classAutoPtr { public: AutoPtr(T*ptr) :_ptr(ptr) { } ~AutoPtr() { if(_ptr!=NULL) { cout<<"delete"<<_ptr<<endl; delete_ptr; _ptr=NULL; } } AutoPtr(AutoPtr<T>&ap) :_ptr(ap._ptr) { ap._ptr=NULL;//管..
分类:其他好文   时间:2016-04-01 06:43:53    阅读次数:124
实现一个简洁版的智能指针
//智能指针可以自动销毁,用引用计数技术实现 #include<iostream> usingnamespacestd; template<classT> classSmartPtr { protected: T*_ptr; size_t*_cout; voidclear() { if(--*_cout==0) { delete_ptr; delete_cout; } } public: SmartPtr(T*ptr=0) :_ptr(pt..
分类:其他好文   时间:2016-03-31 19:02:34    阅读次数:167
智能指针的简单实现
智能指针:动态的管理开辟的内存,防止人为的内存泄漏。 SharedPtr的实现: 原理:使用引用计数的原理使多个对象可以指向一块空间。 #define_CRT_SECURE_NO_WARNINGS #include<iostream> usingnamespacestd; template<classT> classSharedPtr { public: SharedPt..
分类:其他好文   时间:2016-03-30 19:47:06    阅读次数:167
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!