//C++智能指针模板类复习
#include
#include
using namespace std;
//智能指针用于确保程序不存在内存和资源泄漏且是异常安全的。
//C++98中提供了auto_ptr,C++11摒弃了auto_ptr,并提出了unique_ptr 、shared_ptr、weak_ptr
void show1()
{
int* p = ne...
分类:
编程语言 时间:
2015-04-27 21:57:40
阅读次数:
247
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。使用std::auto_ptr,要#include 。[1]中文名自动指针外文名auto_ptr在C++中, auto_ptr是一个类,它用来实现对动态分配对象的自动释放。它的源代码:?12345678910111...
分类:
其他好文 时间:
2015-04-23 23:05:05
阅读次数:
147
shared_ptr:计数的智能指针它是一个包装了new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针 ,可以被自由地拷贝和赋值,在任意的地方共享它,当没有代码使用(引用计数为0)它时才删除被包装的动态分配的对象。shared_ptr也可以安全地放到标准容器中,并弥补了auto_ptr...
分类:
其他好文 时间:
2015-04-15 23:19:53
阅读次数:
161
http://blog.csdn.net/rogeryi/article/details/1442700Part(1)这篇文章试图说明如何使用auto_ptr和shared_ptr,从而使得动态分配对象的使用和管理更安全,方便。除了一般的使用说明外,更主要是说明它们之间的异同 —— 满足需求的不同和...
分类:
其他好文 时间:
2015-04-14 19:35:58
阅读次数:
140
STL智能指针使用方法auto_ptr pi(new int(1024));定义智能指针类(使用计数)实现代码:class RealPtr {
friend class AutoPtr;
int *ip;
size_t use;
RealPtr(int *p) : ip(p), use(1) {}
~RealPtr() { delete ip; }...
分类:
其他好文 时间:
2015-04-13 09:41:23
阅读次数:
194
这篇文章建大的介绍了如何编写一个智能指针。介绍:什么是智能指针?答案想必大家都知道,智能指针的目的就是更好的管理好内存和动态分配的资源,智能指针是一个智能的指针,顾名思义,他可以帮助我们管理内存。不必担心内存泄露的问题。实际上,智能指针是一个行为类似于指针的类,通过这个类我们来管理动态内存的分配和销...
分类:
编程语言 时间:
2015-04-03 14:51:29
阅读次数:
244
何时我们需要智能指针?
资源所有权的共享
共享所有权是指两个或多个对象需要同时使用第三个对象的情况。这第三个对象应该如何(或者说何时)被释放?为了确保释放的时机是正确的,每个使用这个共享资源的对象必须互相知道对方,才能准确掌握资源的释放时间。从设计或维护的观点来看,这种耦合是不可行的。更好的方法是让这些资源所有者将资源的生存期管理责任委派给一个智能指针。当没有共享者存在时,智能指针就可以...
分类:
其他好文 时间:
2015-03-28 14:26:28
阅读次数:
170
何时我们需要智能指针?
资源所有权的共享
共享所有权是指两个或多个对象需要同时使用第三个对象的情况。这第三个对象应该如何(或者说何时)被释放?为了确保释放的时机是正确的,每个使用这个共享资源的对象必须互相知道对方,才能准确掌握资源的释放时间。从设计或维护的观点来看,这种耦合是不可行的。更好的方法是让这些资源所有者将资源的生存期管理责任委派给一个智能指针。当没有共享者存在时,智能指针就可以...
分类:
其他好文 时间:
2015-03-28 14:24:17
阅读次数:
121
前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针,顾名思义,有个shared表明共享嘛.所以shared_ptr类型的智能指针可以做为STL容器的元...
分类:
其他好文 时间:
2015-03-20 10:37:09
阅读次数:
242
从智能指针说起 unique_ptr取代auto_ptr 返回值优化(RVO) make_unique...
分类:
其他好文 时间:
2015-03-19 13:19:31
阅读次数:
204