会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
程序员的自我修养
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
35
下一页
2018年9月20日
C++临时对象的生命期
摘要: 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)
2018年9月13日
More Effective C++: 06杂项讨论
摘要: 32:在未来时态下发展程序 世事永远在变,好的软件对于变化有良好的适应能力:可以容纳新的性质,可以移植到新的平台,可以适应新的需求,可以掌握新的输入。所谓在未来时态下设计程序,就是接受“事情总会改变”的事实,并准备应因之道。 要做到这件事情,办法之一就是以C++本身(而非只是注释或说明文件)来表现各
阅读全文
posted @ 2018-09-13 08:27 gqtc
阅读(252)
评论(0)
推荐(0)
2018年9月11日
More Effective C++: 05技术(30-31)
摘要: 30:Proxy classes 代理类 在C++中使用变量作为数组大小是违法的,也不允许在堆上分配多维数组: 为了弥补上述缺点,可以设计一个二维数组类: 因为没有operator[][]这样的操作符,为了能以data[3][6]的形式访问该二维数组,所以,这里需要使用proxy类: 每个Array
阅读全文
posted @ 2018-09-11 08:32 gqtc
阅读(243)
评论(0)
推荐(0)
2018年9月7日
More Effective C++: 05技术(29)
摘要: 29:引用计数 本章首先实现一个带引用计数String,然后逐步优化,介绍引用计数的常规实现。 实现引用计数的String,首先需要考虑:引用计数在哪存储。这个地方不能在String对象内部,因为需要的是每个String值一个引用计数值,这意味着String值和引用计数间是一一对应的关系,因此需要创
阅读全文
posted @ 2018-09-07 21:23 gqtc
阅读(180)
评论(0)
推荐(0)
2018年9月2日
More Effective C++: 05技术(25-28)
摘要: 25:将constructor 和 non-member functions 虚化 所谓 virtual constructor是某种函数,视其输入可产生不同类型的对象。比如下面的代码: readComponent根据参数str,决定产生TextBlock或Graphic。由于它产生新的对象,所以行
阅读全文
posted @ 2018-09-02 20:40 gqtc
阅读(242)
评论(0)
推荐(0)
2018年8月24日
Memory Layout for Multiple and Virtual Inheritance
摘要: 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)
2018年8月22日
More Effective C++: 04效率
摘要: 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)
2018年8月17日
More Effective C++: 03异常
摘要: C++的异常机制使得程序付出某些代价:资源泄漏的可能性增加了;写出具有你希望的行为的构造函数与析构函数变得更加困难;执行程序和库程序尺寸增加了,同时运行速度降低了等等。 但是为什么使用异常呢?C程序使用错误代码(Error code)来判断异常状态,这种做法的问题是:异常可能被忽略,如果一个函数通过
阅读全文
posted @ 2018-08-17 08:58 gqtc
阅读(186)
评论(0)
推荐(0)
2018年8月15日
More Effective C++: 02操作符
摘要: 05:谨慎定义类型转换函数 有两种函数允许编译器进行隐式类型转换:单参数构造函数(single-argument constructors)和隐式类型转换运算符。单参数构造函数是指只用一个参数即可以调用的构造函数。该函数可以是只定义了一个参数,也可以是定义了多个参数但第一个参数以后的所有参数都有缺省
阅读全文
posted @ 2018-08-15 08:18 gqtc
阅读(158)
评论(0)
推荐(0)
2018年8月12日
More Effective C++: 01基础议题
摘要: 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
下一页
公告