码迷,mamicode.com
首页 >  
搜索关键字:智能指针    ( 834个结果
C/C++之智能指针shared_ptr
1、定义shared_ptr的作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(reference counting)。一旦最后一个这样的指针被销毁,也就是一旦某个对象的引用计数变为0,这个对象会被自动删除。这在非环形数据结构中防止资源泄露很有帮助。aut...
分类:编程语言   时间:2014-07-09 00:36:15    阅读次数:250
(转)剖析C++标准库智能指针(std::auto_ptr)
不可否认,资源泄露(resource leak)曾经是C++程序的一大噩梦.垃圾回收 机制(Garbage Collection)一时颇受注目.然而垃圾自动回收机制并不能 满足内存管理的即时性和可视性,往往使高傲的程序设计者感到不自在. 况且,C++实现没有引入这种机制...
分类:编程语言   时间:2014-07-08 23:45:57    阅读次数:348
C++智能指针--unique_ptr
unique_ptr是一个独享所有权的智能指针,它提供了一种严格语义上的所有权,包括:     1、拥有它所指向的对象。     2、无法进行复制构造,也无法进行复制赋值操作。也就是说,我们无法得到指向同一个对象的两个unique_ptr。但是可以进行移动构造和移动赋值操作。     3、保存指向某个对象的指针,当它本身被删除释放的时候(比如,离开了某个作用域),会使用给定的删除器释放它指向...
分类:编程语言   时间:2014-07-08 17:23:41    阅读次数:271
【足迹C++primer】39、动态内存与智能指针(2)
动态内存与智能指针(2) 直接管理内存 void fun1() { //此new表达式在自由空间构造一个int型对象,并返回指向该对象的指针 int *pi1=new int; //pi指向一个动态分配、未初始化的无名对象 string *ps3=new string; //初始化为空string int *pi2=new int; ...
分类:编程语言   时间:2014-07-08 15:51:21    阅读次数:269
TR1内的组件--智能指针、function
一、智能指针        tr1::shared_ptr和tr1::weak_ptr。前者的作用有如内置指针,但会记录有多少个tr::shared_ptrs共同指向同一个对象,这便是所谓的引用计数。一旦最后一个这样的指针被销毁,也就是一旦某一个对象的引用计数为0,这个对象会被自动删除。这在非环形数据结构中防止资源泄露很有帮助,但如果两个或多个对象内含tr1::shared_ptrs并形成环状,...
分类:其他好文   时间:2014-07-06 11:43:58    阅读次数:186
以独立语句将 newed 对象放入智能指针
如下的代码,虽然使用了智能指针 shared_ptr , 但是还是可能泄漏资源。 processWidget(shared_ptr(new Widget), priority()); 上述函数有两个参数,第一个是 shared_ptr, 第二个是纯粹是 priority()函数的调用。 调用时,编译器必须创建代码,包括如下三件事情: 调用 priority执行 new Widg...
分类:其他好文   时间:2014-07-02 07:01:57    阅读次数:180
Boost智能指针——scoped_ptr
boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。上一段代码,以及其输出: 1 #include 2 #include 3 #include 4 5 class implementation 6 { 7 pu...
分类:其他好文   时间:2014-07-01 18:58:19    阅读次数:261
【STL学习】智能指针之shared_ptr
前面已经学习过auto_ptr,这里补充另外一种智能指针,比auto_ptr要更强力更通用的shared_ptr。 shared_ptr 简介及使用选择 几乎所有的程序都需要某种形式的引用计数智能指针,这种指针让我们不再需要为两个对象或更多对象共享的对象的生命周期而编写复杂的逻辑(写起来有点绕口)....
分类:其他好文   时间:2014-07-01 13:25:27    阅读次数:217
现代C++学习笔记之一入门篇:智能指针(C++ 11)
原始指针:通过new建立的*指针智能指针:通过智能指针关键字(unique_ptr, shared_ptr ,weak_ptr)建立的指针在现代 C++ 编程中,标准库包含智能指针,该指针用于确保程序不存在内存和资源泄漏且是异常安全的。在现代 C++ 中,原始指针仅用于范围有限的小代码块、循环或者性...
分类:编程语言   时间:2014-06-30 13:49:42    阅读次数:354
再论C++之垃圾回收(GC)
本文已经迁移到: http://cpp.winxgui.com/cn:garbage-collection-in-cplusplus使用智能指针(smart pointers) http://www.codeproject.com/cpp/garbage_collect.asp 原理:基...
分类:编程语言   时间:2014-06-29 19:12:03    阅读次数:232
834条   上一页 1 ... 78 79 80 81 82 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!