码迷,mamicode.com
首页 >  
搜索关键字:以对象管理资源    ( 44个结果
Effective C++笔记(三):资源管理
参考:http://www.cnblogs.com/ronny/p/3745098.html 资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等, 无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。 条款13:以对象管理资源 当我们向系统 ...
分类:编程语言   时间:2016-04-18 17:14:35    阅读次数:200
Effective C++第三遍
试图调用private的copy或赋值函数是编译期错误,而调用没有具体定义的函数则是连接期错误。 以对象管理资源;智能指针RAII(资源获取立即初始化)后都是对象,但有时候,比如(API的)函数参数要求的是原始资源的指针,这时候有两种方法: 1、显式转换:智能指针提供了get成员函数可以直接获取原始
分类:编程语言   时间:2016-03-15 18:58:56    阅读次数:198
【Effective C++】资源管理
资源:动态分配的内存、文件描述器、互斥锁、图形界面中的字型与笔刷、数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统。条款13:以对象管理资源当我们向系统申请资源后,一定要记得释放,不然就容易发生内存泄漏。但是意识到这样一件事并不是很容易,比如我们是通过...
分类:编程语言   时间:2015-11-22 17:27:26    阅读次数:162
条款13:以对象管理资源
首先考虑一个工厂函数Investment * createInvestment();void f(){ Investment * pInv = createInvestment(); ... delete pInv;}至少上面这个函数是不安全的,例如如果...里面包含ret...
分类:其他好文   时间:2015-10-05 22:04:33    阅读次数:129
Effective C++ —— 资源管理(三)
条款13 : 以对象管理资源 假设有如下代码:Investment* createInvestment(); //返回指针,指向Investment继承体系内的动态分配对象,调用者有责任删除它void func(){ Investment* pInv = createInvestment...
分类:编程语言   时间:2015-09-12 18:59:20    阅读次数:145
《Effective C++》读书笔记(二)
一.资源管理 资源管理就是我们申请的资源,不管是内存,互斥锁,文件等等,使用过后,都需要归还给系统。C++没有自带的垃圾回收机制,所以自己把握好资源管理是很重要的!   13.以对象管理资源: a)      将一个对象所需要的所有资源放到对象内部,在对象初始化的时候分配资源,并且在对象被销毁的时候将资源释放。 b)      我们通常new一个对象,然后通过指针指向对象,在用过后del...
分类:编程语言   时间:2015-08-29 21:40:30    阅读次数:124
Effective C++ 条款13
以对象管理资源资源的种类很多,动态分配的内存、文件描述器、互斥锁、图像界面中画刷、数据库连接、网络socket等。资源一般是有限的,当你不用时,必须释放。不然就会造成资源浪费,更严重的情况下,非法占有所有资源导致程序崩溃。那么我们怎么样才能合理使用资源?换句话说我们应该怎么样才能做到资源的释放? 本节的核心点是:利用析构函数自动调用机制实现资源的合理释放。举个例子:class Investment...
分类:编程语言   时间:2015-06-24 10:59:50    阅读次数:153
条款13:以对象管理资源
假设类Investment是各种关于投资的基类,股票类Stock继承自Investment。有一个工厂函数可以返回一个具体的Investment对象: 1 #include 2 3 using namespace std; 4 5 class Investment //...
分类:其他好文   时间:2015-05-27 12:01:21    阅读次数:128
条款13:以对象管理资源
auto_ptr智能指针:其析构函数自动对其所指对象调用delete 若对象auto_ptr不指向某一资源,它会设为null shared_ptr具有相同功能 但是多个shared_ptr对象能同时指向同一资源 注意:...
分类:其他好文   时间:2015-05-18 23:02:27    阅读次数:160
条款14:在资源管理类中小心coping行为
以对象管理资源之后,某些资源不允许被复制,这时对象应该被private声明,为了资源在最后一次使用之后被释放应该使用shared_ptr并且给出对应的删除器: 注意:...
分类:其他好文   时间:2015-05-18 23:02:13    阅读次数:187
44条   上一页 1 2 3 4 5 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!