上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页
摘要: 本章节主要是声明了智能指针初始化传参的一些细节问题,本质原因还是因为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)
摘要: 本章主要讲述了两大复制函数(符号赋值和赋值函数)的存在问题,这次是第一次接触,所以没有什么印象; 关于类内成员可能遗漏的问题: 如果我们不对函数进行指定,不适用默认的赋值函数,会导致编译器不会对复制对象进行检查,换句话说就是无论漏掉成员也不会报错; 因此,我们在制定赋值函数,必须要对操作负责,所以每 阅读全文
posted @ 2020-12-04 15:22 暮云林凌 阅读(75) 评论(0) 推荐(0)
摘要: 对于自我赋值,第一反应是形如x=x的形式,这只是最常见的一种而已; 对于自我赋值,往往存在都比较隐式:例如指向同一对象的指针或者引用进行赋值,也算是自我赋值的一种; 比较直观的是在派生和继承中的指向问题; 例如:两个不同的指针分别指向基类base和派生类derived,但是由于base指针任然可以指 阅读全文
posted @ 2020-12-04 13:04 暮云林凌 阅读(135) 评论(0) 推荐(0)
摘要: 该条款主要是为了连锁形式而服务,即形如: x=y=z=15; 即: x=(y=(z=15)); 为了能够实现该功能,常常采用返回赋值符号的左边变量(当然其他操作也可以这样进行); 即如下所示: class wideget { public: wideget& operator+=(const wid 阅读全文
posted @ 2020-12-03 23:45 暮云林凌 阅读(97) 评论(0) 推荐(0)
摘要: 本章主要讲解了多态情况下在构造函数内调用virtual的问题; 针对于多态情况下,我们希望根据指针指向的类型调用不同的虚函数,但是在构造函数中可能存在问题; 例如下列例子: class Transaction { public: Transaction(); virtual void logTran 阅读全文
posted @ 2020-12-03 23:31 暮云林凌 阅读(107) 评论(0) 推荐(0)
摘要: 本章节主要描述了析构函数异常捕捉的问题; 对于C++来说,有一条重要的异常捕捉规定:所以异常都可以抛出,但是不可以在析构函数内进行传播; 所以对于析构函数,一定要注意异常问题,要么捕捉,要么强行结束; 但是由于程序强制结束并不科学,所以一边采用捕捉的方式来进行处理; 但是一旦出现异常,必定意味着程序 阅读全文
posted @ 2020-12-03 21:20 暮云林凌 阅读(194) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页