http://blog.csdn.net/hackbuteer1/article/details/7561235智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(refe...
分类:
其他好文 时间:
2014-09-16 23:25:41
阅读次数:
231
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对...
分类:
编程语言 时间:
2014-09-15 17:49:29
阅读次数:
254
前言 在前面的文章中,细致地分析了构造函数,拷贝构造函数,赋值运算符,析构函数这几个类中最重要函数的用法。 如果严格地遵循这些做法,可以消除绝大部分资源管理的问题。 然而,要想更灵活的使用对象中的资源,仅仅这些还不够。譬如,若你想自己控制对象资源的生命周期(不要在作用域结束的时候自动被析构掉)...
分类:
其他好文 时间:
2014-09-15 14:15:08
阅读次数:
151
悬垂指针:1:提出的原因:请看下面的代码片段:[cpp]view plaincopyprint?int*p=NULL;voidmain(){inti=10;p=&i;cout#include#include#includeusingnamespacestd;intmain(void){char*p=...
分类:
其他好文 时间:
2014-09-13 10:31:05
阅读次数:
229
自己习惯C++1、C++为一个语言联邦STL,Template,智能指针,C++112、尽量以const,enum,inline替换#define1)预处理在符号表中不存在,出现bug不好定位;目标码中也不会有多份Piaeg:#define Pia 3.14 (instead of--->) con...
分类:
编程语言 时间:
2014-09-12 14:58:13
阅读次数:
161
这一章暂时没写完,先留着以后再写。在C++程序中,程序员可以给手动开辟内存,但是这块内存需要手动释放,不便管理,因此新标准提供智能指针类型来管理动态对象。它负责自动释放所指向的对象。shared_prt允许多个指针指向同一个对象unique_ptr独占所指向的对象weak_ptr是一个弱引用,指向s...
分类:
编程语言 时间:
2014-09-09 21:28:39
阅读次数:
413
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。...
分类:
编程语言 时间:
2014-09-06 10:53:53
阅读次数:
374
一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包...
分类:
编程语言 时间:
2014-09-06 09:42:02
阅读次数:
328
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,能够在适当的时间自动删除指向的对象外,能够确保正确的销毁动态分配的对象。
标准库的智能指针为auto_ptr。boost库的智能指针族在功能上做了扩展。
1.auto_ptr
auto_ptr注意事项如下。
①auto_ptr不能共享所有权。
②auto_ptr不能指向数组。
③auto_ptr不能作为...
分类:
编程语言 时间:
2014-09-05 16:18:21
阅读次数:
204
WMSADO.h下创建三个智能指针public: _ConnectionPtr m_pConnection; //数据库 _RecordsetPtr m_pRecordset; //命令 _CommandPtr m_pCommand; //记录public: void OnInitADOConn()...
分类:
数据库 时间:
2014-09-05 08:43:21
阅读次数:
187