分享
 
 
 

Exceptional C++

王朝c/c++·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

(翻译的太差了)

一、语法细节C++不允许修改内置类型的临时变量

缺省参数根据静态类型获得

重载的new和delete操作符永远都是静态的,不管你声明static没有

二、惯用法选择前置递增,只有打算使用初始值时才使用后置递增,并且使用前置递增来实现后置递增

注意由隐式转换创建的隐藏临时对象;避免这个问题的好办法,是使用explicit构造函数,避免编写转换操作符

永远不要#include不必要的头文件;当前置声明足够时,永远不要#include头文件

明智的使用名称空间:如果将一个类放入一个名字空间内,那么一定也要将所有的辅助函数和操作符放入相同的名字空间中

永远不要多态的处理数组;语言要求传递给delete[]操作符的指针类型必须与它的动态类型保持一致

const auto_ptr<>,对特定问题几乎完美的惯用法

三、原则GLSP:泛型的Liskov替换原则:当作模板参数传递的任何类型(或模板)都应当遵守这个参数的需求

需要特别注意赋值操作符的异常安全性,因为它与拷贝构造函数是不一样的

优先选择内聚性,设法使每块代码(每个模块,每个类,每个函数)具有单一的,定义良好的职责;如果一块代码由于内在的设计问题而不能被编写成异常安全的,那几乎总是拙劣设计的表现,例如,带有两个不同职责的函数是难于编写成异常安全的

遵守规范的异常安全性规则:(1),永远不要允许异常逃离析构函数、重载的delete()和delete[]()操作符;(2),设法使用RAII来隔离资源资源所有权和资源管理;(3),在每个函数中,将所有可能抛出异常的代码以及能够安全处理此类工作的代码单独放置到一边,只有确信实际的工作已经完成时,才使用无异常抛出的操作来修改程序的状态

在什么情况下使用公有继承?我们需要公有继承来表示is-a关系,所有被改写的成员函数必须不要求更多,也不要承诺更少;永远不要为了重用基类中的代码而进行公有继承;

在什么情况下使用非公有继承而不是包含?(1),我们需要改写一个虚函数;(2),我们需要访问保护成员;(3),我们需要在另一个基类子对象之前构造被使用类,或者在其之后析构被使用类;(4),我们需要共享共用的虚拟基类,或者改写虚拟基类的构造;(5),我们从空基类优化上获益匪浅;(6),我们需要“受控的多态”,但只是在某种代码中

接口规则:对于一个类X,所有“提及”X和与X“一起提供”的函数(包括自由函数)逻辑上都是X的一部分,因为它们构成了X接口的一部分;成员函数与非成员函数逻辑上都可能是类的一部分,然而,成员函数仍然比非成员函数与类有更强的关系;“一起提供”的一种有用的诠释方式是“出现在相同的头文件和/或名称空间中”,如果出现在相同头文件中,那么它们在依存关系上是类的一部分,如果出现在相同名称空间中,那么它们在名字查找的意义上是类的一部分

四、实践使用自己最熟悉的技术构造产品的核心部分,在扩展部分试验自己感兴趣的新技术并从中学习

记住计算机科学格言:大多数问题都可以通过增加一个间接层来解决,当然,用奥坎姆剃刀(Occam's Razor)来调和一下是明智的:不要使事情变得比必要的更复杂

五、观点C++标准化工作对C++最重要的贡献是:对“强大的抽象概念”更有力的支持,以降低软件的复杂性;

面向对象编程的最重要的优点:是通过管理代码之间的依存关系来降低软件的复杂性

六、问题标准库是不是没有提供定长数组的包装类?vector是不是足够用了?

没有auto_array_ptr<>,或者auto_ptr对数组的特化,是不是应该始终用vector来代替动态分配内存的数组?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有