码迷,mamicode.com
首页 >  
搜索关键字:智能指针类    ( 50个结果
《C++primer》v5 第12章 动态内存 读书笔记 习题答案
这一章暂时没写完,先留着以后再写。在C++程序中,程序员可以给手动开辟内存,但是这块内存需要手动释放,不便管理,因此新标准提供智能指针类型来管理动态对象。它负责自动释放所指向的对象。shared_prt允许多个指针指向同一个对象unique_ptr独占所指向的对象weak_ptr是一个弱引用,指向s...
分类:编程语言   时间:2014-09-09 21:28:39    阅读次数:413
C++ 智能指针详解 二
智能指针(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
【C/C++】友元函数
为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率 如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数 为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可...
分类:编程语言   时间:2014-08-04 13:45:37    阅读次数:354
智能指针tr1::shared_ptr、boost::shared_ptr使用
对于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++STL中的迭代器
既然“指针”的使用者一不小心就可能导致内存泄漏,那么我们如何能够使得指针的使用变得更安全呢?从C++面向对象的角度分析,我们有没有可能将“指针”封装起来,使得用户不直接接触指针,而使用一个封装后的对象来替代指针的操作呢?         答案是显然的,“智能指针”(smart pointer)正解决这类问题,尤其是在防止内存泄漏方面做得非常突出。C++标准库std中提供了一种“智能指针类”名为"...
分类:编程语言   时间:2014-06-15 15:04:11    阅读次数:352
auto_ptr浅析
auto_ptr是C++标准库中()为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针)auto_ptr的实现原理其实就是RAII,在构造的时候获取资源,在析构的时候释放资源,并进行相关指针操作的重载,使用起来就像普通的指针。std::auto_ptr pa(new Cl...
分类:其他好文   时间:2014-06-02 17:12:02    阅读次数:210
boost的shared_ptr循环引用
boost的智能指针给编程带来了极大的便利,不需要关心内存的释放,不要要调用delete,而且还可以定制delete的方法。其实boost的智能指针是可以当成scope_exit来用的,同样是退出时处理。但是凡事都是有利有弊,boost的shared_ptr如果在循环引用的时候会出现无法释放内存的情况,所谓循环引用就是A智能指针类里存放B的智能指针,B的智能指针类里存放A,将a、b的值互相设置。增...
分类:其他好文   时间:2014-05-03 21:06:19    阅读次数:274
高效使用auto_ptr
auto_ptr是C++标准库中为了解决资源泄漏的问题提供的一个智能指针类模板。auto_ptr的实现原理是RAII,在构造的时获取资源,在析构的时释放资源。下面通过一个例子掌握auto_ptr的使用和注意事项。事例类的定义:#pragma once#include using namespace ...
分类:其他好文   时间:2014-04-27 21:14:06    阅读次数:622
50条   上一页 1 ... 3 4 5
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!