摘要: 本章节主要是声明了智能指针初始化传参的一些细节问题,本质原因还是因为C++的缺陷; C++是真的淦,还是JAVA足够方便; 建议的步骤,如果进行新的new对象传参,一定先保证智能指针初始化,再将智能指针当作参数用于其他用处,也就是分离操作; 书上给了一个特别典型的例子: pocesswidget(s 阅读全文
posted @ 2020-12-07 21:06 暮云林凌 阅读(79) 评论(0) 推荐(0)
摘要: 本章节主要讲述了new和delete的一致性问题; new和delete主要有两种形式: 1.单对象的new和delete形式; 2.多对象类数组的new[]和delete[]形式; 如果对于new[]形式采用delete来释放空间,则会造成只释放第一个地址空间; 并且书中给出了一个经典例子,不要随 阅读全文
posted @ 2020-12-07 20:39 暮云林凌 阅读(67) 评论(0) 推荐(0)
摘要: 一直觉得可能这种方法破坏了对于原始资源的封装性,但是书上的一句话说的特别好:资源管理类并不是为了封装而存在的,是为了delete而存在的; 所以,返回原始资源的访问,并不算破坏封装性; 原始资源的使用往往和C API接口有关,所以本章节给出了几个例子,如何返回原始资源; 针对于智能指针而言: Inv 阅读全文
posted @ 2020-12-07 17:19 暮云林凌 阅读(74) 评论(0) 推荐(0)
摘要: 条款十三讲解了heap_base下的资源类管理问题,旨在使用auto_ptr和share_ptr进行资源管理; 但是很多情况下需要自定义类来进行管理,因为并不是所有的资源都是heap_base的,但是资源管理类必须要注意赋值和符号赋值的问题; 文中采用了经典的mutex的例子,对mutex进行封装, 阅读全文
posted @ 2020-12-07 16:40 暮云林凌 阅读(115) 评论(0) 推荐(0)
摘要: 本章节主要描述了资源释放可能出现的问题; 其中比较着重讲述的是指针资源释放的例子,并且阐述了一个关键点:资源的释放最好交给类来解决,而不是使用delete进行显式的处理; 考虑如下例子: class test { public: test(); }; test* creatTest(); void 阅读全文
posted @ 2020-12-07 15:31 暮云林凌 阅读(64) 评论(0) 推荐(0)