摘要:
本章节主要是声明了智能指针初始化传参的一些细节问题,本质原因还是因为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)

浙公网安备 33010602011771号