这一章暂时没写完,先留着以后再写。在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
为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。...
分类:
其他好文 时间:
2014-08-31 18:25:31
阅读次数:
212
这里以一个智能指针类为例,智能指针所指为一个对象。而事实上,STL迭代器的开发均需要重载这两个操作符,上一篇文章分析STL 迭代器中除了要用到template技巧外,还需要重载技巧 1 #include 2 using namespace std; 3 class Screen 4 { 5 ...
分类:
其他好文 时间:
2014-08-10 23:59:30
阅读次数:
532
为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率
如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数
为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可...
分类:
编程语言 时间:
2014-08-04 13:45:37
阅读次数:
354
对于tr1::shared_ptr在安装vs同时会自带安装,但是版本较低的不存在。而boost作为tr1的实现品,包含
“Algorithms
Broken Compiler Workarounds
Concurrent Programming
Containers
Correctness and Testing
Data Structures
Domain Specific
Fu...
分类:
其他好文 时间:
2014-07-19 23:18:19
阅读次数:
371
既然“指针”的使用者一不小心就可能导致内存泄漏,那么我们如何能够使得指针的使用变得更安全呢?从C++面向对象的角度分析,我们有没有可能将“指针”封装起来,使得用户不直接接触指针,而使用一个封装后的对象来替代指针的操作呢?
答案是显然的,“智能指针”(smart pointer)正解决这类问题,尤其是在防止内存泄漏方面做得非常突出。C++标准库std中提供了一种“智能指针类”名为"...
分类:
编程语言 时间:
2014-06-15 15:04:11
阅读次数:
352
auto_ptr是C++标准库中()为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针)auto_ptr的实现原理其实就是RAII,在构造的时候获取资源,在析构的时候释放资源,并进行相关指针操作的重载,使用起来就像普通的指针。std::auto_ptr
pa(new Cl...
分类:
其他好文 时间:
2014-06-02 17:12:02
阅读次数:
210
boost的智能指针给编程带来了极大的便利,不需要关心内存的释放,不要要调用delete,而且还可以定制delete的方法。其实boost的智能指针是可以当成scope_exit来用的,同样是退出时处理。但是凡事都是有利有弊,boost的shared_ptr如果在循环引用的时候会出现无法释放内存的情况,所谓循环引用就是A智能指针类里存放B的智能指针,B的智能指针类里存放A,将a、b的值互相设置。增...
分类:
其他好文 时间:
2014-05-03 21:06:19
阅读次数:
274
auto_ptr是C++标准库中为了解决资源泄漏的问题提供的一个智能指针类模板。auto_ptr的实现原理是RAII,在构造的时获取资源,在析构的时释放资源。下面通过一个例子掌握auto_ptr的使用和注意事项。事例类的定义:#pragma
once#include using namespace ...
分类:
其他好文 时间:
2014-04-27 21:14:06
阅读次数:
622