上一页 1 2 3 4 5 6 7 8 ··· 35 下一页
摘要: Whenever a reference is bound to a temporary or to a subobject thereof, the lifetime of the temporary is extended to match the lifetime of the referen 阅读全文
posted @ 2018-09-20 08:35 gqtc 阅读(2707) 评论(0) 推荐(2)
摘要: 32:在未来时态下发展程序 世事永远在变,好的软件对于变化有良好的适应能力:可以容纳新的性质,可以移植到新的平台,可以适应新的需求,可以掌握新的输入。所谓在未来时态下设计程序,就是接受“事情总会改变”的事实,并准备应因之道。 要做到这件事情,办法之一就是以C++本身(而非只是注释或说明文件)来表现各 阅读全文
posted @ 2018-09-13 08:27 gqtc 阅读(252) 评论(0) 推荐(0)
摘要: 30:Proxy classes 代理类 在C++中使用变量作为数组大小是违法的,也不允许在堆上分配多维数组: 为了弥补上述缺点,可以设计一个二维数组类: 因为没有operator[][]这样的操作符,为了能以data[3][6]的形式访问该二维数组,所以,这里需要使用proxy类: 每个Array 阅读全文
posted @ 2018-09-11 08:32 gqtc 阅读(243) 评论(0) 推荐(0)
摘要: 29:引用计数 本章首先实现一个带引用计数String,然后逐步优化,介绍引用计数的常规实现。 实现引用计数的String,首先需要考虑:引用计数在哪存储。这个地方不能在String对象内部,因为需要的是每个String值一个引用计数值,这意味着String值和引用计数间是一一对应的关系,因此需要创 阅读全文
posted @ 2018-09-07 21:23 gqtc 阅读(180) 评论(0) 推荐(0)
摘要: 25:将constructor 和 non-member functions 虚化 所谓 virtual constructor是某种函数,视其输入可产生不同类型的对象。比如下面的代码: readComponent根据参数str,决定产生TextBlock或Graphic。由于它产生新的对象,所以行 阅读全文
posted @ 2018-09-02 20:40 gqtc 阅读(242) 评论(0) 推荐(0)
摘要: https://analyticspace.wordpress.com/2016/07/page/3/ https://zhougy0717.github.io/2018/03/06/C++%E8%8F%B1%E5%BD%A2%E7%BB%A7%E6%89%BF/ https://www.oschi 阅读全文
posted @ 2018-08-24 08:41 gqtc 阅读(224) 评论(0) 推荐(0)
摘要: 16:牢记80-20准则 80-20准则说的是大约20%的代码使用了80%的程序资源;大约20%的代码耗用了大约80%的运行时间;大约20%的代码使用了80%的内存;大约20%的代码执行80%的磁盘访问;80%的维护投入于大约20%的代码上。当提到80-20准则时,不要在具体数字上纠缠不清,一些人喜 阅读全文
posted @ 2018-08-22 20:30 gqtc 阅读(249) 评论(0) 推荐(0)
摘要: C++的异常机制使得程序付出某些代价:资源泄漏的可能性增加了;写出具有你希望的行为的构造函数与析构函数变得更加困难;执行程序和库程序尺寸增加了,同时运行速度降低了等等。 但是为什么使用异常呢?C程序使用错误代码(Error code)来判断异常状态,这种做法的问题是:异常可能被忽略,如果一个函数通过 阅读全文
posted @ 2018-08-17 08:58 gqtc 阅读(186) 评论(0) 推荐(0)
摘要: 05:谨慎定义类型转换函数 有两种函数允许编译器进行隐式类型转换:单参数构造函数(single-argument constructors)和隐式类型转换运算符。单参数构造函数是指只用一个参数即可以调用的构造函数。该函数可以是只定义了一个参数,也可以是定义了多个参数但第一个参数以后的所有参数都有缺省 阅读全文
posted @ 2018-08-15 08:18 gqtc 阅读(158) 评论(0) 推荐(0)
摘要: 01:仔细区别 pointers 和 references 1:没有所谓的null reference,但是可以将 pointer 设为null。由于 reference 一定得代表某个对象,C++ 因此要求 references 必须有初值,但是pointers 就没有这样的限制。 没有所谓的 n 阅读全文
posted @ 2018-08-12 20:35 gqtc 阅读(154) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 35 下一页